我有一個列表(GlobalBooks),它類似於下面的Java 8:迭代和組基於對象列表對象的屬性
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
GlobalBooks globalBooks = new GlobalBooks();
List<Book> bookList = new ArrayList<Book>();
Book book = new Book();
List<BookContent> bookContents = new ArrayList<BookContent>();
book.setBookName("A");
BookContent content = new BookContent();
content.setDescription("December 2016");
content.setComponentID(20l);
bookContents.add(content);
content = new BookContent();
content.setDescription("January 2016");
content.setComponentID(30l);
bookContents.add(content);
content = new BookContent();
content.setDescription("Febuary 2016");
content.setComponentID(40l);
bookContents.add(content);
book.setContents(bookContents);
bookList.add(book);
book = new Book();
bookContents = new ArrayList<BookContent>();
book.setBookName("B");
content = new BookContent();
content.setDescription("December 2016");
content.setComponentID(20l);
bookContents.add(content);
content = new BookContent();
content.setDescription("January 2016");
content.setComponentID(30l);
bookContents.add(content);
content = new BookContent();
content.setDescription("Febuary 2016");
content.setComponentID(40l);
bookContents.add(content);
book.setContents(bookContents);
bookList.add(book);
globalBooks.setBooks(bookList);
System.out.println(globalBooks);
}
}
我尋找Java 8層的功能可能流的globalBooks響應和根據BooksContent中的說明字段收集書籍列表的地圖。
Map<String,List<Books>>
即所有具有相同描述的書籍應該按描述分組在一起嗎?
我可以通過常規的java做到這一點,但代碼變得太凌亂和不整潔。
由於每本書都有多個不同描述的內容,您需要每本書出現在多個地圖條目中,是否正確? –
類似的問題,使用番石榴'MultiMap':[最清潔的方式來索引一個屬性的項目屬性,它本身是一個集合](http://stackoverflow.com/questions/23003754/cleanest-way-to-index-a - 收集該物品本身是-a) – MikaelF