ラジクマールNatarajan:
私はのクラス定義の下に持っていますEntry
-
public class Entry {
private String key;
private String Value;
// getters and setters
// equals hashcode toString
}
私は、一覧ましEntry
データベースからオブジェクトを。私は彼ら地図があるべき結果のキーと値に基づいてグループ化しますSet<value>
。
私が試したし、以下のコードで終わります。
Map<String, Set<Entry>> groupedEntries =
entryList.findAll()
.stream()
.collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), Collectors.toSet()));
このコードの問題は、結果の型があるMap<String, Set<Entry>>
が、私はなりたいですMap<String, Set<String>>
。
それは、単一の収集でこれを行うことは可能でしょうか?
Ousmane D .:
使用mapping
コレクタ:
.collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(),
Collectors.mapping(Entry::getValue, Collector.toSet())));