Tin*_* Le 5 java iteration list
我正在练习列表迭代然后我卡住了.我的问题是,为什么这两种方法会产生不同的结果.
第一个代码打印出无限循环.第二个,打印出索引中的下一个String.
我是java新手,这也是我的第一语言.
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
while (l1.iterator().hasNext()) {
System.out.println(l1.iterator().next());
;
}
}
Run Code Online (Sandbox Code Playgroud)
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
Iterator<String> rator = l1.iterator();
while (rator.hasNext()) {
System.out.println(rator.next());
}
}
Run Code Online (Sandbox Code Playgroud)
l1.iterator( 总是生成一个新的迭代器.在第一段代码中,您将创建一个新的迭代器,丢弃它,重新创建它,然后再次丢弃它.由于迭代器没有机会到达终点,所以你永远不会退出循环.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |