Java:遍历List

1.遍历方式

遍历List主要有三种方式,这里首先列出这三种方式:

1.1 get(i)

int listSize = list.size();
for (int i = 0; i < listSize; i++) {
	list.get(i);
}

1.2 foreach

for(String tmp:list)  
 {  
            //do something
}  

1.3 Iterator

Iterator<String> iter = list.iterator();  
while(iter.hasNext())  
{  
       iter.next();  
       //System.out.println(iter.next());  
}  

2.根据实测,可以得出下表:

表格开源中国里面打不出来,看这里吧

P.S.:由于ArrayList底层为数组实现,所以在声明ArrayList的时候最好给定一个预测的size的值,使其在添加时尽量少地申请新的空间。在数据量小的情况下,各种方式遍历ArrayList时差异不大,所以可以直接考虑编写代码最方便的foreach。当数据量变大时,还是推荐使用get。但在内存中存储这么庞大的数据,个人建议搭配内存数据库(redis之类)进行操作。对于LinkedList,由于其实现方式就是不利于遍历的,所以在决定使用LinkedList之前,要确定将来进行遍历时,是从前往后或者从后往前,这样的顺序遍历并且不涉及到取某些特定位置的值的操作,否则在数据量猛增时马上就会需要漫长的等待了。

参考: Java 遍历列表的最快方法 java list三种遍历方法性能比较 Java遍历List四种方法的效率对比

猜你喜欢

转载自my.oschina.net/hengbao666/blog/1823879