线程安全与不安全的集合

Java集合框架体系

在这里插入图片描述

  • Java集合框架主要包括Collection和Map两种类型。其中Collection又有3种子类型,分别是List、Set、Queue。Map中存储的主要是键值对映射。
  • 规则集Set中存储的是不重复的元素,线性表中存储可以包括重复元素,Queue队列描述的是先进后出的数据结构,可以用LinkedList来实现队列。
  • 效率上,规则集比线性表更高效。
  • ArrayList主要是用数组来存储元素,LinkedList主要是用链表来存储元素,HashMap的底层实现主要是借助数组+链表+红黑树来实现。
  • Vector、HashTable、Properties等集合类效率比较低但都是线程安全的。包java.util.concurrent下包含了大量线程安全的集合类,效率上有较大提升。
  • ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是线程不安全的。(线程不安全是指:当多个线程访问同一个集合或Map时,如果有超过一个线程修改了ArrayList集合,则程序必须手动保证该集合的同步性。)

猜你喜欢

转载自blog.csdn.net/weixin_43145299/article/details/82885176