前言
作为List接口的具体实现类,ArrayList可谓是万物皆可存,相信大家在用ArrayList的时候,遍历有时也会是一件值得考虑的问题吧,有时候的遍历要去考虑下标,有时候直接可以用Foreatch无脑循环,今天在这里介绍一下ArrayList的三种遍历方式。
简单常用! For eatch循环
使用增强型for循环可以非常方便的遍历ArrayList中的元素,这是很多开发人员的首选。
ArrayList<List1> list=new ArrayList<>();
for(int i=1;i<=5;i++){
list.add(new List1("wowo"));
}
for(List1 list1:list){
System.out.print(list1+" ");
}
不过增强型for循环也有不足:
无法得知当前是第几个元素了,当需要只打印单数元素的时候,就做不到了,必须再自定下标变量。
定位下标!普通For循环上阵!
用size()和get()分别得到大小,获取指定位置的元素。简单大气奢华!
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");}
}
究极!迭代器Iterator!
Iterator<List1> it=list.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
迭代器就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。从最开始的位置判断"下一个"位置是否有数据。如果有就通过next取出来,并且把指针向下移动,直到"下一个"位置没有数据。