より大きな関数の一部である次の行があります。
Collection<String> idSet; //idset != successors.keys()
Map<String, ArrayList> successors; // parameter to larger function
ArrayList<String> result = new ArrayList<String>();
for (String id: idSet) {
ArrayList<String> idsuccessors = this.successors.get(id);
result.addAll(idSuccessors);
}
マッピングの後継者からのすべての値を 1 つのコレクションに結合したいと考えています。上記のコードは機能しますが、よりクリーンな方法が必要であると思います (たとえば、Python では、1 つの短い行でそれを実現しました)。
result = set.union(*[set(successors(id)) for id in ids])
Mapping のタイプを ArrayList から HashSet などに変換しても問題ないことに注意してください。
どんなアドバイスでも大歓迎です。前もって感謝します