この質問はthisの拡張です。私はここに必要なすべての詳細を提供しました。あるオブジェクトの反復の結果を別のオブジェクトの値を持つマップに集める
私は2つのコレクションを持っている場合は、
List<String> domainArr;
List<Person> personArr;
私は、文字列の各要素にマイナーな変換を行い、その後、私が持っている
List<String> urlArr = strArr.stream()
.map(str -> "https://" + strArr)
.collect(Collectors.toList());
にpersonArrを反復したいと思いますメソッドのように
List<Person> getPersons(String url){
/*makes a restful call to the url and gets a List of objects for each URL.*/
}
私が知っているからhere私は
strArr.stream()
.map(str -> getPersons("https://" + str))
.flatMap(persons -> persons.stream())
.filter(Objects::nonNull)
.map(Person::getName)
.filter(Objects::nonNull)
.collect(Collectors.toList());
のような平坦化されたリストにsultsは、私がどのように特定のURLの結果を変換して得られた名前のリストとしてdomainUrlと値としてキーで地図で結果を得る不思議でしたか?
はresultMap
があるあなたは以下のコードを使用することができます
URL1 -> [name1, name2]
URL2 -> [name3, name4]
「domainArr」と「strArray」は同じですか?あなたはどのタイプの地図を保持したいのですか? – user1803551