集合

简介: 集合

集合

  • 集合关系图(展示基本情况)
  • 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 基于堆 不安全
目录
相关文章
|
6月前
|
存储 Java 索引
JAVASet集合
JAVASet集合
54 0
|
存储 Java 容器
集合
集合
70 0
|
存储
16 集合(下)
16 集合(下)
102 0
|
存储 安全 索引
集合 详解
集合 详解
134 0
|
存储 Java 容器
|
存储 算法 安全
集合总结
集合总结
95 0
|
存储 安全 Java
第9章 集合
集合体系、集合的数据结构以及操作。
111 0
CAN知识集合
CAN知识集合
181 0
CAN知识集合