请教 集合中的Iterator接口 请问,集合里的那个Iterator接口中的三个方法:remove,hasnext,next.好象没有看到有哪一个类实现过,那怎么,这些方法都可以那出来用呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以在JDK中查找Iterator接口,然后直接看它的实现类,BeanContextSupport.BCSIterator, Scanner 这两个是它的实现类.在这两个类中就实现了接口中的三个方法~ ArrayListHashSetHastTableVector都实现了 刚看了下,HashMap类,这个类中就有iterator方法,返回的是一个Iterator引用,你可以去看看这个类,里面有很详细的实现三个方法,它定义了一个私有内部类和一些final方法. public interface ListIterator<E>extends Iterator<E>注意,remove() 和 set(Object) 方法不是 根据光标位置定义的;它们是根据对调用 next() 或 previous() 所返回的最后一个元素的操作定义的。 此接口是 Java Collections Framework 的成员。 从以下版本开始: 1.2 另请参见:Collection, List, Iterator, Enumeration 楼主把分给我,我给你写详细点,常用情况:Set接口下HashSet hs = new HshSet();Iterator it = hs.itetator();//遍历:while(it.hasNext()){System.out.println(it.next());}强例要求给分, 现在基本都是用1。5版的,可以查看JDK帮助 集合类基本上都实现了,在遍历的时候都会用到Iterator迭代器。比如:ArrayList,HashSet,HastTable,Vector 例如:List list=new ArrayList(); for(int i=0;i<10;i++){ list.add(i); } Iterator iterator=list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next()+" "); }remove()方法是:从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 AbstractList类中有四个内嵌类:Itr, ListItr, RandomAccessSubList和SubList。与Iterator有关的是Itr和ListItr这两个。Itr和ListItr是两个private内嵌类,Itr有实现过这三个方法。 以后就别用这个了,java5.0提供了for...each迭代,你去学一下,很好用,呵呵 remove,hasnext,next 这三个方法都是由Iterator各个子类去实现的,咱们看不到,每一个子类针对某一种的集合类去遍历比如:ArrayList 类,它的iterator()方法可以得到的是java.util.AbstractList$Itr 一个内部类 LinkedList类,它的iterator()方法可以得到的是java.util.LinkedList$ListItr 一个内部类 HashSet类,它的iterator()方法可以得到的是java.util.HashMap$KeyIterator 一个内部类这些内部类都实现了Iterator接口,每个实现类的remove,hasnext,next这三个方法实现都是不同的,只不过是咱们一般是通过多态特性来操作这些类,所以都是用Iterator接口引用去指向各个子类对象 java小问题 [求助]关于多线程的运行结果, 请教大牛们 如何获取树节点的值??? Java应用程序中中文显示小方块是什么原因? 高分请教二个基本问题? 怎样用javascript在table中生成新的一行? 各位大虾帮忙啊急如何在jbpersonal中实现一个工程调用另一个工程 100分,高分求助:用ftp server上传和下载文件如何控制路径?? Test类究竟实现的是哪个接口中的方法 java基本类库中调用的dll的具体实现在jdk的哪里 10行的小程序, 为何输出是1234 有空的看下。 求java入门ppt课件 急!
HashSet
HastTable
Vector都实现了
注意,remove() 和 set(Object) 方法不是 根据光标位置定义的;它们是根据对调用 next() 或 previous() 所返回的最后一个元素的操作定义的。 此接口是 Java Collections Framework 的成员。 从以下版本开始:
1.2
另请参见:
Collection, List, Iterator, Enumeration
常用情况:
Set接口下
HashSet hs = new HshSet();
Iterator it = hs.itetator();//遍历:while(it.hasNext()){
System.out.println(it.next());
}
强例要求给分,
比如:ArrayList,HashSet,HastTable,Vector
例如:
List list=new ArrayList();
for(int i=0;i<10;i++){
list.add(i);
}
Iterator iterator=list.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next()+" ");
}remove()方法是:从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
比如:ArrayList 类,它的iterator()方法可以得到的是java.util.AbstractList$Itr 一个内部类
LinkedList类,它的iterator()方法可以得到的是java.util.LinkedList$ListItr 一个内部类
HashSet类,它的iterator()方法可以得到的是java.util.HashMap$KeyIterator 一个内部类
这些内部类都实现了Iterator接口,每个实现类的remove,hasnext,next这三个方法实现都是不同的,
只不过是咱们一般是通过多态特性来操作这些类,所以都是用Iterator接口引用去指向各个子类对象