Java iterator()和next()原理用法

Java iterator()和next()具体是怎么的用法和原理,求高手给个简单的例子,本人初学

如果使用 Iterator 来遍历集合中元素,一旦不再使用 List 转而使用 ‍TreeSet 来组织数据,那遍历元素的代码不用做任何修改,如果使用 for 来遍历,那所有遍历此集合的算法都得做相应调整。

比如以后你的代码改了,list不在是list接口了,而是set接口(没有get(i)方法),
这时你的代码改动就大了,for里面全部要重写,而你老大的代码几乎不用任何修改,当然这也牺牲了部分性能‍‍

参考资料:http://bbs.csdn.net/topics/250025827

*****************************************希望帮助到你!************************************************
如果我的回答对你有帮助,
请点击我的回答下方【选为满意答案】按钮
谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
Java中的Iterator功能比较简单,并且只能单向移动:
  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
  (2) 使用next()获得序列中的下一个元素。
  (3) 使用hasNext()检查序列中是否还有元素。
  (4) 使用remove()将迭代器新返回的元素删除。
  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。
迭代器应用:
list l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
for (Iterator iter = l.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
/*迭代器用于while循环
Iterator iter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
*/本回答被网友采纳
第2个回答  2013-05-01
public static void fun(){
ArrayList<Integer>list=new ArrayList<Integer>();
for(int i=0;i<15;i++){
list.add(Integer.valueOf((int)(Math.random()*100)));
}

Iterator<Integer> i=list.iterator();
while(i.hasNext()){
Integer element=i.next();
System.out.print(element+" ");
}//这个的用法,相当于下面的for-each

for(Integer e:list){
System.out.print(e+" ");
}

}
第3个回答  2013-04-30



相似回答