public class ListTest {
private static Random random = new Random();
public static void main(String[] args){
ArrayList<String> arraylist = new ArrayList();
LinkedList<String> linkedlist = new LinkedList();
HashMap<String,Object> map = new HashMap();
HashSet<String> set = new HashSet();
for(int i=0;i<50000;i++){
String r = randomString();
arraylist.add(r);
linkedlist.add(r);
map.put(r, r);
set.add(r);
}
System.out.println("arraylist size "+arraylist.size());
System.out.println("linkedlist size "+linkedlist.size());
System.out.println("map size "+map.size());
System.out.println("set size "+set.size());
System.out.println("------");
long begin = System.currentTimeMillis();
for(int j=0;j<arraylist.size();j++){
arraylist.contains(arraylist.get(j));
}
System.out.println("arraylist time "+(System.currentTimeMillis()-begin));
begin = System.currentTimeMillis();
for(int j=0;j<arraylist.size();j++){
linkedlist.contains(arraylist.get(j));
}
System.out.println("linkedlist time "+(System.currentTimeMillis()-begin));
begin = System.currentTimeMillis();
for(int i=0;i<100;i++){
for(int j=0;j<arraylist.size();j++){
map.containsKey(arraylist.get(j));
}
}
System.out.println("map time "+(System.currentTimeMillis()-begin));
begin = System.currentTimeMillis();
for(int i=0;i<100;i++){
for(int j=0;j<arraylist.size();j++){
set.contains(arraylist.get(j));
}
}
System.out.println("set time "+(System.currentTimeMillis()-begin));
}
protected static String randomString() {
return Long.toString(random.nextLong(), 36);
}
}
在我的机器上,结果如下:
arraylist size 50000
linkedlist size 50000
map size 50000
set size 50000
------
arraylist time 49328
linkedlist time 57641
map time 625
set time 578
可见呀,如果是在集合中查询某个对象是否存在,是HashSet的速度最快,而且比List快将近1万倍。
分享到:
相关推荐
java中collection集合
java Collection类整理
8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.javaCollection接口.zip8.java...
Java之Collection总结 Java之Collection总结 Java之Collection总结
java中集合的深入剖析.java中集合的深入剖析。java中集合的深入剖析。
Java集合Collection、List、Set、Map使用详解
java泛型集合 java集合 集合 java Collection 排序 集合排序
本书介绍了collect的前世今生,是初学者的一本较好的教程。
Java Garbage Collection Basics
Java Garbage Collection Study java 垃圾回收学习
java集合框架之Collection部分,包括List与Set的常用类,示例多,且皆有详细注释。
WP-Understanding Java Garbage Collection
java 集合类学习笔记 arraylist hashmap linkedList hashset
Java_Collection_A Java_Collection_A
Java集合排序及java集合类详解(Collection、List、Map、Set).doc
Understanding_Java_Garbage_Collection_v4.pdf 理解 java 垃圾收集 PDF
下载大神的理解,分享给你们
Java6 Collection Framework 新特性概览.pdf Java6 Collection Framework 新特性概览.pdf
Tedu一段Java集合Collection。
Java.util.Collection类的学习.pdf