У меня есть список (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);
}
}
Ищу ява 8 функций, которые могут течь ответ globalBooks и собрать карту Список книг на основе поля описания в BooksContent.
Map<String,List<Books>>
i.e все книги с тем же описанием должны быть сгруппированы вместе описанием?
Я могу сделать это с помощью обычной java, но код становится слишком грязным и неопрятным.
Поскольку каждая книга содержит несколько материалов с различными описаниями, вам нужно, чтобы каждая книга отображалась в нескольких записях карты, правильно? –
Аналогичный вопрос с использованием Guava 'MultiMap': [Самый чистый способ индексирования коллекции по свойству элемента, который сам является коллекцией) (http://stackoverflow.com/questions/23003754/cleanest-way-to-index-a -collection-by-a-the-items-that-yourself-is-a) – MikaelF