Мне нужна помощь в преобразовании списка объектов в Map<String, List<String>>.
class Person {
private String name;
private int age;
}
У меня есть List<Person>, и я хочу собрать Map<int, List<String>>, ключ которого - возраст, а значение - список имен лиц того же возраста.
Я пробовал в этих строках, но не получилось
persons.stream().collect(Collectors.groupingBy(p -> p.getAge()), );




Если целью этого является обеспечение быстрого поиска, думали ли вы об использовании индексированной коллекции, такой как хранилище данных:
https://github.com/jparams/data-store
Вы можете сделать что-то вроде:
Store<Person> store = new MemoryStore<Person>();
store.index("name", Person::getName);
store.addAll(listOfPeople); // populate your store with data
Person personFound = person.get("name", "bob");
Вы можете использовать несколько индексов для одних и тех же данных. Вы даже можете создавать индексы без учета регистра и т. д.