黑马程序员技术交流社区

标题: 迭代器 [打印本页]

作者: 熏陶    时间: 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