我试图通过填充超过百万行来计时 Arraylist 和 Linkedlist,并在 Arraylist 填充后得到以下错误,
线程“主”java.lang.OutOfMemoryError 中的异常:java.lang.Integer.valueOf(Integer.java:642) 处的 Java 堆空间在 scratch.Collectionss.main(Collections.java:25)
如何避免此错误,我尝试设置 l1 = null 但这给了我一个错误,
public class Collectionss {
public static void main(String[] args){
//
long starttime = System.currentTimeMillis();
List<Integer> l1 = new ArrayList<Integer>();
for (int i = 1; i <= 10000000; i++){
l1.add(i);
}
System.out.println(l1.size());
long endtime = System.currentTimeMillis();
System.out.println(endtime - starttime);
//
long starttime1 = System.currentTimeMillis();
List<Integer> l2 = new LinkedList<Integer>();
for (int i = 1; i <= 10000000; i++){
l2.add(i);
}
System.out.println(l2.size());
long endtime1 = System.currentTimeMillis();
System.out.println(endtime1 - starttime1);
}
}