集合继承结构图

achong
2022-03-05 / 0 评论 / 42 阅读 / 正在检测是否收录...
  • 集合结构Collection

- Collection

  • List
  • List集合存储特点,元素有序可重复,存储的元素有下标。

    • ArrayList

      • ArrayList集合底层采用了数组这种数据结构。
      • ArrayList集合是非线程安全的。
    • LinkList

      • LinkList集合底层采用了双向链表数据结构
    • Vector

      • Vector集合也是采用双向链表的数据结构,但它是线程安全的。
    • Vector所有的方法都有synchronized关键字修饰,所以线程安全,但是效率较低。选择保证线程安全有别的办法,故Vector使用较少了。
  • Set
  • Set集合存储特点:元素无序不可重复。

    • HashSet
    • 实际上HashSet集合在new的时候,底层实际上new了一个HashMap集合。
    • 向HashSet中存储元素,实际上是存储在HashMap集合中。
    • HashMap集合是一个哈希表数据结构。
  • TreeSet

    • Set实现了SortedSet接口,TreeSet是一个实现类。

      • TreeSet底层实际上是TreeMap,new TreeSet的时候,实际上是new了一个TreeMap集合。
      • 往TreeSet中存储数据的时候,实际上是将数据放到TreeMap集合中了。
        -TreeMap集合底层采用了二叉树结构。

Map

  • Map集合与Collection集合没有关系。
  • Map集合以key和value的这种键对值的方式存储元素。
  • key和value都是存储java对象的内存地址。
    -所有Map集合的key特点:无序不可重复的。Map集合的key和Set集合的存储元素特点相同。

    • HashMap:

      -HashMap集合底层是哈希表数据结构,是非线程安全的。
    • Hashteble

      -Hashtable集合底层也是哈希表数据结构,是线程安全的,其中所有的方法都带有synchronized关键字,但效率较低,现在使用少了,因为控制线程安全有其他更好的方案。
      -Properties
          -Properties是线程安全的,因为继承Hashtable,另外Properties存储元素的时候也是采用key和value的形式存储,并且key和value支支持String类型,不支持其他类型。
          -Properties被称为属性类

      TreeMap <interface> SortedSet

      TreeMap集合底层的数据结构是一个二叉树。
      
1

评论 (0)

取消
粤ICP备18061175号-3