一、Java的集合类有哪些?
二、如何定义集合是线程不安全的?
当多个并发同时对线程不安全的集合进行增删改的时候会破坏这些集合的数据完整性,例如:当多个线程访问同一个集合或Map时,如果有超过一个线程修改了ArrayList集合,则程序必须手动保证该集合的同步性。这就说明集合是线程不安全的。
三、实例:验证ArrayList线程不安全,抛出异常 ConcurrentModificationException
- import java.util.*;
- /**
- * @author 蓝多多的小仓库
- * @title: mytest
- * @projectName test
- * @description: ldd_annotation
- * @date 2022/11/10 16:39
- */
- public class mytest {
- public static void main (String[] args) {
- List
list = new ArrayList(); - for (int i = 0; i < 10; i++) {
- final int j = i;
- new Thread(() -> {
- list.add(j);
- System.out.println(list);
- }, ""