例子:测试ArrayList和LinkedList在检索数据的时候性能对比时出现了问题,按理来说在ArrayList读取数据是会比LinkedList快的,但我设置了50W的数据,得出结果不明显。。望解答~
public class Test_ArrayList_LinkedList02 {
static final int N = 500000;
// 计算查询所需的值
static long readList(List list) {
long start = System.currentTimeMillis();
for (int i = 0; i < list.size(); i++) {
//模拟查询,只循环什么都不做
}
return System.currentTimeMillis() - start;
}
// 给集合里添加大量值
@SuppressWarnings("unchecked")
static List addList(List list) {
Object o = new Object();
for (int i = 0; i < N; i++) {
list.add(0, o);
}
return list;
}
@SuppressWarnings("rawtypes")
public static void main(String[] args) {
ArrayList arraylist = (ArrayList) addList(new ArrayList());
LinkedList linkedlist = (LinkedList) addList(new LinkedList());
System.out.println("ArrayList查找" + arraylist.size() + "条耗时:"+ readList(arraylist));
System.out.println("LinkedList查找" + linkedlist.size() + "条耗时:"+ readList(linkedlist));
}
}
效果
什么都不做,怎么测试啊?
你只是测试了
list.size()
的性能。而这个操作是 O(1) 的。https://stackoverflow.com/que...