A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2015-3-31 22:42  /  539 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Iterator  it=list.Iterator();
回复 举报
迭代器Iterator是一个接口,类集框架中的Collection的子接口List和Set的子类中都有一个内部类实现了这个迭代器接口。因为每个具体的集合所使用的底层的数据结构都不一样,为了最大效率的访问这些数据结构的集合,因此迭代器的实现都不一样,但是每个类中都有实现,而且每个类还要提供一个获取本类迭代器对象的方法,这个方法就又向上抽取成了一个接口Iterable,Collction接口继承了这个接口,每个具体的子类中把这个接口中的iterator方法实现了,这样保证了每个类都有一个获取具体迭代器的方法。

迭代器中有3个方法  
hasNext() :判断是否有下一个元素
next():获取下一个元素,并将指向元素的索引向下移动一个
remove():删除元素

注意:因为List的中ArrayList  Vector底层是数组,LinkedList底层是链表,他们都是有序的,就是存入和取出来的顺序一样,都有索引,可以按索引来访问数据。所以List集合有两种访问数据的方式:迭代器和下标。但是这两种操作方式不能同时进行。但是迭代器中在迭代时,只有删除元素操作,功能有限,如果此时我们想要增删修改元素时,可以使用ListIterator迭代器。
回复 举报
遍历用法
回复 举报
赞藤椅。。。。。{:2_32:}
回复 举报
我也刚看到这里。。。。
回复 举报
谢谢   学习了
回复 举报
加油            
回复 举报
Act 中级黑马 2015-4-1 22:17:25
8#
迭代器两个,普通、列表迭代器。
回复 举报
Iterator<String> it=list.iterator();                 while(it.hasNext())                 {                         String st=(String)it.next();                         System.out.println(st);                 }
回复 举报
我也是刚理解了,将我的理解分享给你,不知道是否管用。
迭代器就是从集合中取出元素的一种方式
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的时候,就指向了第                                                        一个元素
     }
}
回复 举报
赞一个,谢谢分享
回复 举报
学习了,大神讲的好详细
回复 举报
学习了!
回复 举报
查API啊,ListIterator有很多方便操作的方法
回复 举报
围观大神解答
回复 举报
谢谢   学习了
回复 举报
遍历collection集合的一个内部类
回复 举报
a1301155262 来自手机 中级黑马 2015-4-5 23:22:03
18#
学习一下
回复 举报
都是大神啊!!!!!
回复 举报
受教了,这个之前我也不太明白
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马