本文介紹了For-each 與迭代器.哪個會是更好的選擇的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
考慮以下場景.
List<String> list = new ArrayList<>();
現在我為這個列表添加了 String
值.
Now I added the String
values for this list.
我使用以下方法來遍歷列表中的每個元素.
I used following ways to go each and every element in the list.
選項一 - 使用 for-each
for (String i : list) {
System.out.println(i);
}
選項二 - 使用 Iterator
Iterator it=list.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
我只想知道如果我使用 for-each
而不是 Iterator
是否有任何性能優勢.現在在 Java 中使用 Iterator 是不是一種不好的做法?
I just want to know is there any performance advantage if I use for-each
instead of Iterator
. And also is it a bad practice to use Iterator now a days in Java?
推薦答案
for-each
是使用 iterators
的語法糖(方法 2).
for-each
is syntactic sugar for using iterators
(approach 2).
如果您需要在循環中修改集合,您可能需要使用 iterators
.第一種方法會拋出異常.
You might need to use iterators
if you need to modify collection in your loop. First approach will throw exception.
for (String i : list) {
System.out.println(i);
list.remove(i); // throws exception
}
Iterator it=list.iterator();
while (it.hasNext()){
System.out.println(it.next());
it.remove(); // valid here
}
這篇關于For-each 與迭代器.哪個會是更好的選擇的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!