0

より大きな関数の一部である次の行があります。

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 などに変換しても問題ないことに注意してください。

どんなアドバイスでも大歓迎です。前もって感謝します

4

1 に答える 1