ArrayList效率很高,但是是单线程的,线程不安全的。因此为了避免线程不安全,需要对ArrayList进行转换成
线程安全的。Collections中的synchronizedList可以解决这个问题。
public static void main(String[] args) throws InterruptedException { // List<Integer> list = new ArrayList<>(); List<Integer> list = Collections.synchronizedList(new ArrayList<>()); Runnable runnable = () -> { for (int i = 0; i < 10000; i++) { list.add(i); } }; for (int i = 0; i < 1; i++) { new Thread(runnable).start(); } Thread.sleep(500); System.out.println(list.size()); }