黑马程序员技术交流社区
标题:
关于迭代器相关的问题
[打印本页]
作者:
樱花飘过
时间:
2015-8-15 23:26
标题:
关于迭代器相关的问题
需求是:将集合里面的内容,转换成数组,并遍历,我不理解的是为什么这样写运行的结果是对的,按照迭代器的理解,结果应该是没循环一次,数组的元素都是一样 的,应该是实现不了的,很希望大神帮忙看下,因为,我怀疑是我对迭代器的理解有偏差
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class Demo8 {
public static void main(String[] args) {
Collection c = new ArrayList<>();
c.add("拉登");
c.add("巴马");
c.add("加菲");
c.add("达姆");
Iterator iterator = c.iterator();
String[] arr = new String[c.size()];
while (iterator.hasNext()) {
for (int i = 0; i < arr.length; i++) {
arr[i] = (String) iterator.next();
System.out.println(arr[i]);
}
}
System.out.println(Arrays.toString(arr));
}
}
作者:
T-l-H、小生
时间:
2015-8-16 00:37
首先:看到你在创建集合的时候,在ArrayList后面加了个尖括号,不知道你是否学了泛型了?我不算大神,不过我用迭代器是这么用的
public static void main(String[] args) { ArrayList alist = new ArrayList();
alist.add("拉登");
alist.add("巴马");
alist.add("加菲");
alist.add("达姆");
Iterator it = alist.iterator();
while (it.hasNext()) {
String str = (String) it.next();
System.out.println(str);
}
}
作者:
樱花飘过
时间:
2015-8-16 09:24
T-l-H、小生 发表于 2015-8-16 00:37
首先:看到你在创建集合的时候,在ArrayList后面加了个尖括号,不知道你是否学了泛型了?我不算大神,不过 ...
暂时美欧学泛型,你说的只是遍历容器,这个我也会的,我只想知道我的需求为什么这么写也可以实现,正常情况,按照迭代器 思想是实现不了的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2