JUC集合框架(1): 概述

JUC包中集合类可以分为3部分:List和Set、Map以及Queue。

List和Set

JUC集合包中List和Set的实现类有:

  • CopyOnWriteArrayList
    CopyOnWriteArrayList相当于线程安全的ArrayList,它实现了List接口。
  • CopyOnWriteArraySet
    CopyOnWriteArraySet相当于线程安全的HashSet,它继承于AbstractSet类。它是基于CopyOnWriteArrayList实现的。
  • ConcurrentSkipListSet
    ConcurrentSkipListSet相当于线程安全的TreeSet,它继承于AbstractSet类,并实现了NavigableSet接口。它是基于ConcurrentSkipListMap实现的。

Map

JUC集合包中Map的实现类有:

  • ConcurrentHashMap
    ConcurrentHashMap相当于线程安全的HashMap,它继承于AbstractMap类,并实现了ConcurrentMap接口。
  • ConcurrentSkipListMap
    ConcurrentSkipListMap相当于线程安全的TreeMap,它继承于AbstractMap类,并实现了ConcurrentNavigableMap接口。通过跳表实现的。

Queue

JUC集合包中Queue的实现类有:

  • ArrayBlockingQueue
    ArrayBlockingQueue数组实现的线程安全的有界的阻塞队列,FIFO。
  • LinkedBlockingQueue
    LinkedBlockingQueue单向链表实现的阻塞队列,FIFO。
  • LinkedBlockingDeque
    LinkedBlockingDeque双向链表实现的阻塞队列,FIFO/LIFO
  • ConcurrentLinkedQueue
    ConcurrentLinkedQueue单向链表实现的无界队列,FIFO。
  • ConcurrentLinkedDeque。
    ConcurrentLinkedDeque双向链表实现的无界队列,FIFO/LIFO。