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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2015-3-31 22:42  /  519 人查看  /  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#
学习一下
回复 使用道具 举报
都是大神啊!!!!!
回复 使用道具 举报
受教了,这个之前我也不太明白
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马