参考答案
结论:用Collections.synchronizedList、Vector或CopyOnWriteArrayList,或手动同步。原理:synchronizedList包装后方法级加锁,适合低并发;Vector方法加synchronized但锁粗效率低已过时;CopyOnWriteArrayList写时复制新数组,读无锁适合读多写少;对比写频繁用外部synchronized(list){list.add()}避免ConcurrentModificationException。示例:List l = Collections.synchronizedList(new ArrayList<>());