2016-02-14 6 views
7

文字列のリストを大文字に変換したい。ここで文字列のリストのすべての要素を大文字に変換する

はこれを行うに私のコードです:

List<String> list = Arrays.asList("abc", "def", "ghi"); 
List<String> upped = list.stream().map(String::toUpperCase).collect(Collectors.toList()); 

これを行うには、シンプルな/より良い方法はありますか?

+1

別の方法が常にあります:List#replaceAll()を使用し、一つの小さなメソッド呼び出しでリストを変換するために

。 forループと似ています。どのような答えをお探しですか? – Tunaki

+0

太陽光線とシフトビットを虫めがねで使用することができます。 – Tunaki

+0

[蝶を使う](https://xkcd.com/378/)です。 – azurefrog

答えて

22

実際にはリストを変換していません。あなたは新しいリストを作成しました。

list.replaceAll(String::toUpperCase); 
+0

これは実際に変換された文字列をリスト内の丁寧な位置に割り当てますか?私は 's = s.replaceAll()'という文字列形式に慣れているので尋ねるだけですが、Listの実装には慣れていません。良い情報のように聞こえます:) –

+1

@ CalvinP.yes - 提供されたラムダを使って各要素のインプレース変換を実行するので、要素の順序は保持されます。 – Bohemian

+0

ああ、知っておきたい。近い将来、私はそれらの行に沿って何かを使うかもしれません。 –