需求是:将集合里面的内容,转换成数组,并遍历,我不理解的是为什么这样写运行的结果是对的,按照迭代器的理解,结果应该是没循环一次,数组的元素都是一样 的,应该是实现不了的,很希望大神帮忙看下,因为,我怀疑是我对迭代器的理解有偏差
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));
}
} |
|