集合

简介: 集合

集合

  • 集合关系图(展示基本情况)
  • List
  • ArrayList如何保证线程安全?
  • 修改为使用Vector, 性能会下降
  • 使用Collections.synchronizedCollection()
  • 直接加锁
  • ArrayList与Vector的区别;前者线程不安全,扩容为1.5倍;后者线程安全,扩容为2倍
  • Vector是方法级别的锁,而synchronizedCollection是变量级别的锁,一般使用后者,性能会强于Vector
  • LinkedList如何保证线程安全?
  • 使用Collections.synchronizedList();
  • Collections方法本质上是对基础对象的增强,属于设计模式中装饰者模式的使用
对象名称 具体实现 线程是否安全
ArrayList 动态数组,随机访问 不安全
LinkedList 双向链表 不安全
Vector 动态数组 安全
  • Set
  • 如何保证线程安全:
  • Collections.synchronizedSet()
对象名称 具体实现 线程是否安全 是否有序
TreeSet 基于Map 不安全
HashSet 基于HashMap 不安全
LinkedHashSet 双向链表 不安全
  • Queue
对象名称 具体实现 线程是否安全
LinkedList 基于链表 不安全
PriorityQueue 基于堆 不安全
目录
相关文章
|
5月前
集合
数组的长度不可以发生改变。 但是ArrayList集合的长度是可以随意变化的。 对于ArrayList来说,有一个尖括号代表泛型。 泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。 注意:泛型只能是引用类型,不能是基本类型。 注意事项: 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内 容是空,得到的是空的中括号:[]
27 0
|
7月前
|
存储 Java 索引
1.9 集合
1.9 集合
27 1
|
11月前
|
索引
集合理解
集合的个人理解笔记 与二叉查找树规律
49 0
|
12月前
|
存储
|
存储 算法 安全
|
存储 安全 Java
第9章 集合
集合体系、集合的数据结构以及操作。
90 0
GoogleGuava - 第 2 章 集合——不可变集合
GoogleGuava - 第 2 章 集合——不可变集合
99 0
GoogleGuava - 第 2 章 集合——不可变集合
CAN知识集合
CAN知识集合
155 0
CAN知识集合
|
安全 Java
关于集合
NET有超过20种内置的集合类型,.NET Framework中有些集合只是为了保持向后兼容性,
103 0
关于集合
|
C# C++