Eclipse Collectionsのcollect()
パターンを使用できます。collect()
は、JDKのmap()
に相当します。
MutableList<String> source = Lists.mutable.with("A", "B", "C");
MutableList<String> target = source.collect(String::toLowerCase);
既存のターゲットリストを持っている場合は、ターゲットコレクション受け入れるcollect()
のバリアントを使用することができます
List<String> source = Arrays.asList("A", "B", "C");
List<String> target = ListAdapter.adapt(source).collect(String::toLowerCase);
:
MutableList<String> source = Lists.mutable.with("A", "B", "C");
source.collect(String::toLowerCase, target);
をあなたはList
からリストを変更できない場合
List
についてreplaceAll()
を使用することもできます。
List<String> source = Arrays.asList("A", "B", "C");
List<String> target = new ArrayList<>(source);
target.replaceAll(String::toLowerCase);
上記の解決策はより効果的かもしれませんが、それらはすべてターゲットリストのサイズを事前に設定することがあります。
注:私はEclipse Collectionsに貢献しています。
JITは、2番目のコードを最初のものに変換できるはずです。 http://stackoverflow.com/questions/39495347/whats-the-better-way-to-add-elements-from-a-stream-to-an-existing-listを参照してください。 – kennytm
できることは何もありません。 –