Я хочу превратить List
во что-то другое.
У меня есть такой класс POJO (я убрал здесь геттеры / сеттеры):
public class Person {
private String personId;
private String registrationId;
}
A Person
(personId) может иметь много регистрационных идентификаторов, поэтому разные экземпляры Person
могут ссылаться на одного и того же реального человека (но имеют разные регистрационные идентификаторы).
У меня есть List<Person> persons
, как показано ниже, с 3 элементами:
persons = [{"person1", "regis1"}, {"person1", "regis2"}, {"person2", "regis1"}];
Я бы хотел что-то вроде этого (чтобы каждый ключ ссылался на человека, и для каждого человека я получил список registrationId):
Map<String, List<String>> personsMap = [ "person1" : {"regis1", "regis2"}, "person2" : {"regis2"}]
Я знаю, что могу сделать что-то вроде этого:
Map<String, List<Person>> map = persons.stream().collect(Collectors.groupingBy(Person::getPersonId));
Но я получил Map<String,List<Person>>
, и я хотел бы Map<String,List<String>>
Есть идеи?
Спасибо