package com.atguigu.java1;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import org.junit.Test;
public class TestIterator {
//面试题:
@Test
public void testFor3(){
String[] str = new String[]{"AA","BB","DD"};
for (String s:str) {
s = "MM";
System.out.println(s);//输出MM MM MM
}
for (int i = 0; i < str.length; i ++){
System.out.println(str[i]);//输出AA BB DD
}
}
@Test
public void testFor2(){
String[] str = new String[]{"AA","BB","DD"};
for(int i = 0; i < str.length;i ++){
str[i] = i + "";
}
for(int i = 0; i < str.length; i ++){
System.out.println(str[i]); //输出结果为,0 1 2
}
}
//使用增强for循环实现数组的遍历(数组不能使用集合while的那种方式,因为数组没有Iterator这个函数)
@Test
public void testFor1(){
String[] str = new String[]{"AA","BB","DD"};
for(String s:str){
System.out.println(s);
}
}
//使用增强for循环实现集合的遍历
@Test
public void testFor(){
Collection coll = new ArrayList();
coll.add(123);
coll.add("AA");
coll.add(new Date());
coll.add("BB");
coll.add(new Person("MM",23));
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");
coll.add(new Person("MM",23));
Iterator i = coll.iterator();
//会出错,输出结果会间隔输出;错误提示为java.util.NoSuchElementException,因为while成立,但是输出的next里面没有东西
//间隔输出的主要原因是i.next()会向下取值,输出的时候,指针i.next()又向下走了一步。
while (i.next() != null) {
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");
coll.add(new Person("MM",23));
Iterator i = coll.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
}
}
集合之迭代--java21(05/01/2016)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.存储对象可以考虑:①数组 ②集合2.数组存储对象的特点:Student[] stu = new Student...