2017-12-05 35 views
-1

私は、この定期的なforループからforループを強化することに苦労しています。私は私のString ArrayListの各要素は、その値+に等しくなるようにしたい「完了」forループを拡張forループに変換するにはどうすればよいですか?

for (int i = 0; i < stringList.size(); i ++) 
{ 
    stringList.set(i, stringList.get(i) + " done"); 
} 

は私を助けてくれてありがとう。

+1

[Javaの拡張forループの構文は何ですか?](https://stackoverflow.com/questions/11685305/what-is-the-syntax-of-enhanced-for-loop- –

+1

特定の位置の値をその値に置き換えることはできません。 'List.get'だけを実行してもこれは問題ありませんが、' List.set'は問題です。 – AxelH

+2

***なぜ***を上記のコードを拡張された 'for'と置き換えたいのですか? –

答えて

3

拡張forループは使用できません。

のどちらか(RandomAccessリストについては結構です)既存のコードを使用し続ける、またはList.replaceAll使用:あなたはまだ前のJava 8バージョンで立ち往生している場合、

stringList.replaceAll(s -> s + " done"); 

をまた、使用Java 8 Javadocのコード:

final ListIterator<String> li = stringList.listIterator(); 
while (li.hasNext()) { 
    li.set(li.next() + " done"); 
} 
0

あなた強化forに置き換えることができますが、それは実際にそれをうまく利用しません。

int i = 0; 
for (String s : stringList) 
{ 
    stringList.set(i++, s + " done"); 
} 
関連する問題