Iterator中常见的一种错误方式

public class Test {
public static void main(String[] args) {
ArrayList<Person> al=new ArrayList<Person>();
al.add(new Person("lili", 18));
        al.add(new Person("nana", 20));
al.add(new Person("lulu", 31));
al.add(new Person("feifei", 9));

//遍历(正确方式):
Iterator<Person> it=al.iterator();
while(it.hasNext()){
Person p=it.next();
System.out.println(p.getName()+"---"+p.getAge());  
}

}
}
//输出的结果:
lili---18
nana---20
lulu---31

feifei---9


下边是错误方式:


//输出错误的结果:

a, 如果有偶数个对象,则:

lili---20
lulu---9

原因:每一次it.next();方法指针都会下移,当第一个指向lili的时候,下个指针指向下一个的age

b,如果有奇数个对象,则:
报异常: Unresolved compilation problem



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值