我是靠谱客的博主 自然豌豆,最近开发中收集的这篇文章主要介绍iterator的理解与用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Iterator类中,我们经常用到两个方法: hasNext(), next(),
具体含义: next(),  是返回当前元素, 并指向下一个元素。
hasNext(), 则是判断当前元素是否存在,并指向下一个元素(即所谓的索引)

原理模拟:

public boolean hasNext() {
return cursor != size();
}
public Object next() {
checkForComodification();
try {
Object next = get(cursor);
lastRet = cursor++;
return next;
} catch(IndexOutOfBoundsException e) {
checkForComodification();
throw new NoSuchElementException();
}
}

由此可看出,两个方法的作用与区别。


用法举例:

Map map=new HashMap();

map.put('1','Tom');

map.put('2','Jim');

Set keySet=map.keySet();

Iterator iterator=keySet.iterator();

while(iterator.hasNext())

{

String key=(String)iterator.next;

}

iterator与for、list区别,具体如下:

需要取list里面每个元素的时候,

   Iterator it = list.iterator();

   while (it.hasNext()) {

       Id= (String) it.next();

   }

for(int i=0;i<list.size();i++){

      Id=(String)list.get(i);


}     两种写法都可以,但是尽量用前一种,因为如果以后你的代码改了,list不在是list接口了,而是set接口(没有get(i)方法),这时你的代码改动就大了,for里面全部要重写。当然,jdk 1.5以后,也可以

List <String> list = new ArrayList <String>();
for (String s:list) {
   System.out.println(s);
}



转载于:https://blog.51cto.com/7533390/1285274

最后

以上就是自然豌豆为你收集整理的iterator的理解与用法的全部内容,希望文章能够帮你解决iterator的理解与用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部