我有一个列表(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