java list三种遍历方法性能比较

Posted 腾逸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java list三种遍历方法性能比较相关的知识,希望对你有一定的参考价值。

public static void compare() {
List<String> list = new ArrayList<String>();
Set<String> set = new HashSet<String>();
for(int i=0;i<100000;i++) {
list.add("a"+i);
}
long t1=0L,t2=0L;
t1 = System.currentTimeMillis();
for(String s : list) {
set.add(s);
}
t2 = System.currentTimeMillis();
System.out.println("forEach遍历的时间为:"+(t2-t1)+"mm");
////two
t1 = System.currentTimeMillis();
for(int i=0; i<list.size(); i++) {
String str = list.get(i);
set.add(list.get(i));
}
t2 = System.currentTimeMillis();
System.out.println("size遍历的时间为:"+(t2-t1)+"mm");
////three
t1 = System.currentTimeMillis();
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
String str = iterator.next();
set.add((String)iterator.next());
}
t2 = System.currentTimeMillis();
System.out.println("iterator遍历的时间为:"+(t2-t1)+"mm");
}

forEach遍历的时间为:45mm
size遍历的时间为:14mm
iterator遍历的时间为:7mm







































以上是关于java list三种遍历方法性能比较的主要内容,如果未能解决你的问题,请参考以下文章

java遍历List集合的三种方法

SetListHashMap优缺点比较,高性能集合

Java数组和各种List的性能比较

ArrayList的不同的遍历方式性能比较,其实都差不了多少

三种实现深拷贝的方式以及性能比较

Python爬虫之三种网页抓取方法性能比较