黑马程序员技术交流社区
标题:
关于集合中迭代器的问题
[打印本页]
作者:
伍淑江
时间:
2013-3-18 23:56
标题:
关于集合中迭代器的问题
本帖最后由 伍淑江 于 2013-3-19 20:45 编辑
array2并不是对象呀,它为什么能调研Iterator方法的呢?
复制代码
public class ArrayListTest {
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("hello");
array.add("world");
array.add("java");
array.add("hello");
ArrayList array2 = getSingleton(array);
Iterator it = array2.iterator();
//这里的array2为什么可以调用iterator( )呀?
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}
}
public static ArrayList getSingleton(ArrayList array) {
ArrayList arr = new ArrayList();
Iterator it = array.iterator();
while (it.hasNext()) {
String s = (String) it.next();
if (!arr.contains(s)) {
arr.add(s);
}
}
return arr;
}
}
作者:
飞天小猪猪
时间:
2013-3-19 00:18
ArrayList array2 = getSingleton(array);
Iterator it = array2.iterator();
...
public static ArrayList getSingleton(ArrayList array)
因为方法getSingleton(ArrayList array)返回的是一个ArrayList对象,所以定义了一个ArrayList类型的Array2去接收它,Array2就是一个ArrayList类型的对象了,因此可以调用iterator方法。
作者:
李阳
时间:
2013-3-19 00:34
ArrayList array2 = getSingleton(array);
在这里你调用了自定义的方法getSingleton方法,这个方法是获取一个ArrayList集合。
所以array2能够调用集合的方法。
作者:
范德农
时间:
2013-3-19 03:23
Array2是ArrayList类,超级接口是Iterator,自然能有iterator( )方法,无论如何,这都是Collection的子类,自然都能调用该方法。
作者:
小路飞
时间:
2013-3-19 07:47
你可以查查API文档,一切自然迎刃而解!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2