for-each是要使用的语法糖iterators(方法2)。
iterators如果需要在循环中修改集合,则可能需要使用。第一种方法将引发异常。
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}解决方法
请考虑以下情形。
List<String> list = new ArrayList<>();
现在,我String为该列表添加了值。
我使用以下方法访问列表中的每个元素。
选项一-用途 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也是一种不好的做法吗?