黑马程序员技术交流社区
标题:
迭代器
[打印本页]
作者:
熏陶
时间:
2015-3-31 22:49
Iterator it=list.Iterator();
作者:
快乐ABC
时间:
2015-3-31 23:02
迭代器Iterator是一个接口,类集框架中的Collection的子接口List和Set的子类中都有一个内部类实现了这个迭代器接口。因为每个具体的集合所使用的底层的数据结构都不一样,为了最大效率的访问这些数据结构的集合,因此迭代器的实现都不一样,但是每个类中都有实现,而且每个类还要提供一个获取本类迭代器对象的方法,这个方法就又向上抽取成了一个接口Iterable,Collction接口继承了这个接口,每个具体的子类中把这个接口中的iterator方法实现了,这样保证了每个类都有一个获取具体迭代器的方法。
迭代器中有3个方法
hasNext() :判断是否有下一个元素
next():获取下一个元素,并将指向元素的索引向下移动一个
remove():删除元素
注意:因为List的中ArrayList Vector底层是数组,LinkedList底层是链表,他们都是有序的,就是存入和取出来的顺序一样,都有索引,可以按索引来访问数据。所以List集合有两种访问数据的方式:迭代器和下标。但是这两种操作方式不能同时进行。但是迭代器中在迭代时,只有删除元素操作,功能有限,如果此时我们想要增删修改元素时,可以使用ListIterator迭代器。
作者:
蜗牛opa
时间:
2015-4-1 09:52
遍历用法
作者:
huangchunwei
时间:
2015-4-1 10:44
赞藤椅。。。。。{:2_32:}
作者:
薛慧彬
时间:
2015-4-1 11:28
我也刚看到这里。。。。
作者:
胡宗钊
时间:
2015-4-1 18:45
谢谢 学习了
作者:
Grady
时间:
2015-4-1 21:52
加油
作者:
Act
时间:
2015-4-1 22:17
迭代器两个,普通、列表迭代器。
作者:
罗韬
时间:
2015-4-2 22:54
Iterator<String> it=list.iterator(); while(it.hasNext()) { String st=(String)it.next(); System.out.println(st); }
作者:
妖妖
时间:
2015-4-3 00:20
我也是刚理解了,将我的理解分享给你,不知道是否管用。
迭代器就是从集合中取出元素的一种方式
public static void m()
{
ArrayList al=new ArrayList(); //创建一个容器,使用Collection接口的子类。这句话的意思就是我们有很多的数据,我们要将输入存起来,所以我们就创建了一 个 ArrayList的对象,名为al(我们存数据的大箱子)
Interator it=al.iterator();//说明,al是集合,我们需要从集合中取出我们需要的元素就行操作,迭代器能实现这一功能(我们从大箱子里取出数据的方法).
while(it.hasNext())//hasNext(),是Interator接口中的方法,是在我们取元素的时候,问问集合,大箱子里有没有元素啊,如果有的话,就执行
{
System.out.println(it.next());//如果有元素的话就挨个取出,注,在刚开始的时候它是指向第一个元素的前面的,所以我们在执行next的时候,就指向了第 一个元素
}
}
作者:
晓月清晖明
时间:
2015-4-3 00:36
赞一个,谢谢分享
作者:
致逝去的青春
时间:
2015-4-3 00:40
学习了,大神讲的好详细
作者:
P李勇
时间:
2015-4-3 01:03
学习了!
作者:
艺多不压身丶
时间:
2015-4-3 08:21
查API啊,ListIterator有很多方便操作的方法
作者:
致逝去的青春
时间:
2015-4-5 21:33
围观大神解答
作者:
jiandonn
时间:
2015-4-5 21:38
谢谢 学习了
作者:
马士基
时间:
2015-4-5 22:28
遍历collection集合的一个内部类
作者:
a1301155262
时间:
2015-4-5 23:22
学习一下
作者:
Mr.Kaizhei
时间:
2015-4-5 23:26
都是大神啊!!!!!
作者:
Mr.Cai
时间:
2015-4-6 10:55
受教了,这个之前我也不太明白
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2