IterableをCollectionに変換する簡単な方法 質問する

IterableをCollectionに変換する簡単な方法 質問する

私のアプリケーションでは、サードパーティのライブラリを使用します(Spring Data for MongoDB正確には)。

このライブラリのメソッドは を返しますIterable<T>が、コードの残りの部分では を期待しますCollection<T>

foreachどこかに、一方を他方に素早く変換できるユーティリティ メソッドはありますか?このような単純なことのために、コード内にループを多数作成するのは避けたいです。

ベストアンサー1

JDK 8 以降では、追加のライブラリを使用せずに次の操作を実行します。

Iterator<T> source = ...;
List<T> target = new ArrayList<>();
source.forEachRemaining(target::add);

編集:上記は 用ですIterator。 を扱っている場合はIterable

iterable.forEach(target::add);

おすすめ記事