Java stream で対象のリストのアイテム内のリストの一覧を取得する

Javaのストリームを使用して、対象のリスト内のアイテム内のリストの一覧を取得する方法はいくつかあります。以下にいくつかの例を示します。

  1. ネストされたforループを使用する方法:
List<List<String>> targetList = ... // 対象のリスト

List<String> nestedList = new ArrayList<>();
for (List<String> innerList : targetList) {
    nestedList.addAll(innerList);
}
  1. ストリームとflatMapメソッドを使用する方法:
List<List<String>> targetList = ... // 対象のリスト

List<String> nestedList = targetList.stream()
        .flatMap(Collection::stream)
        .collect(Collectors.toList());
  1. ストリームとreduceメソッドを使用する方法:
List<List<String>> targetList = ... // 対象のリスト

List<String> nestedList = targetList.stream()
        .reduce(new ArrayList<>(), (acc, list) -> {
            acc.addAll(list);
            return acc;
        });

これらの方法のどれを選ぶかは、個々の要件や好みによります。どの方法を使用しても、対象のリスト内のアイテム内のリストの要素を一つのリストに結合することができます。

タイトルとURLをコピーしました