import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import org.junit.Test;
//使用增强for循环实现数组的遍历
@Test
public void test() {
String[] str = new String[] {"AA","BB","VV"};
for(String i:str) {
System.out.println(i);
}
}
//使用增强foe循环实现集合的遍历
@Test
public void test3() {
Collection coll = new ArrayList();
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
for(Object i:coll) {
System.out.println(i);
}
}
//错误的写法
@Test
public void test2() {
Collection coll = new ArrayList();
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
Iterator i = coll.iterator();
// while(i.next() != null) {
// //i.next判断下一个位置是否存在元素有的话往下移,执行第二次next时,是打印的是第三个元素,
// //间隔着打印。//java.util.NosuchElementException
// System.out.println(i.next());
// }
}
//
//正确的写法:使用迭代器iterator实现集合的遍历
@Test
public void test1() {
Collection coll = new ArrayList();
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
Iterator i = coll.iterator();
while(i.hasNext()) {
System.out.println(i.next());
}
}
}
面试题
public class TestIterator {
//面试题:
@Test
public void test4() {
String[] str = new String[] {"AA","BB","CC"};
for(String s:str) {
s = "MM";
System.out.println(s);//输出的重新定义 s的变量与集合无关,只是把集合中的元素赋值给了s
}
for(String s:str) {
System.out.println(s);
}
}