Diese Frage ist eine Erweiterung zu this. Ich habe hier alle notwendigen Details zur Verfügung gestellt.Das Ergebnis einer Iteration für ein Objekt in einer Karte mit Werten von einem anderen Objekt sammeln
Wenn ich 2 Sammlungen haben,
List<String> domainArr;
List<Person> personArr;
würde Ich mag eine kleine Transformation auf jedes der Elemente in dem String machen und dann über den personArr iterieren ein zu
List<String> urlArr = strArr.stream()
.map(str -> "https://" + strArr)
.collect(Collectors.toList());
Ich habe Verfahren wie
List<Person> getPersons(String url){
/*makes a restful call to the url and gets a List of objects for each URL.*/
}
ich von here weiß, dass ich die Wieder sammeln kann gebnisse in eine abgeflachte Liste wie
strArr.stream()
.map(str -> getPersons("https://" + str))
.flatMap(persons -> persons.stream())
.filter(Objects::nonNull)
.map(Person::getName)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Ich frage mich, wie in einer Karte mit Schlüssel als domainUrl und Wert als eine Liste von Namen durch die Umwandlung des Ergebnisses dieser speziellen URL erhielt das Ergebnis bekommen? wie
Say Karte,
URL1 -> [name1, name2]
URL2 -> [name3, name4]
'domainArr' und' strArray' sind gleich? Welche Arten möchte die Karte erhalten? – user1803551