1.使用1百万试试
public static void main(String[] args) {
List<Integer> a1 = new ArrayList<>();
for (int i = 0; i < 1000000; i++) {
a1.add(i);
}
a1.add(99);
a1.add(99);
a1.add(99);
a1.add(99);
a1.add(99);
a1.add(99);
List<Integer> a2 = new ArrayList<>();
a2.add(99);
long l = System.currentTimeMillis();
for (int i = a1.size()-1; i >=0; i--) {
if (a1.get(i) == 99) {
a1.remove(i);
}
}
long l1 = System.currentTimeMillis();
System.out.println("remove:"+(l1-l));
System.out.println(a1.contains(a2));
System.out.println("===================");
List<Integer> a3 = new ArrayList<>();
for (int i = 0; i < 1000000; i++) {
a3.add(i);
}
a3.add(99);
a3.add(99);
a3.add(99);
a3.add(99);
a3.add(99);
a3.add(99);
long l2 = System.currentTimeMillis();
a3.removeAll(a2);
long l3 = System.currentTimeMillis();
System.out.println("removeAll:"+(l3-l2));
System.out.println(a3.contains(a2));
}
结果:
remove:6
false
===================
removeAll:20
false
2.加到1个亿试试
结果:
remove:275
false
===================
removeAll:389
false
3.加到100亿试试
卧槽 内存炸了。。。。