Java集合


title: Java集合
date: 2018-05-01 15:58:02
tags: javaSE
categories: 后端技术


java容器接口

一级容器

集合只有两个基本接口:Collection和Map

  1. Collection:这个接口需要实现add方法
    boolean add(E element)
  2. Map:这个接口需要实现put方法,该接口是使用键值对进行存储的
    V put(K key,V value)
    V get(K key)

二级容器

继承自Collection

  1. List:这是一个有序集合,元素会增加到容器中的特定位置。可以采取两种方式访问:使用迭代器和整数索引(随机访问)来访问。如果实现方式不同,访问的代价也不一样。链表使用随机访问的代价巨大。
  2. Set:这个接口等同于Collection,但是定义更加详细,add方法不允许增加重复的元素。equals方法:只要两个集包含同样的元素就认为是相等的,不需要一样的顺序。hashCode方法的定义保证包含相同元素的集合会得到相同的散列码。其子接口SortedSet会提供用于排序的比较器对象。
  3. Queue:这个接口代表一个队列,采用“先进先出”的方式。

继承自Map

具体后面展开。

具体实现类集合

  1. ArrayList:一种可以动态增长和缩短的索引集合。
  2. LinkedList:一种可以在任何位置进行高效的插入和删除操作的有序集合。
  3. ArrayDeque:一种用循环数组实现的双端队列。
  4. HashSet:一种没有重复元素的无需集合。
  5. TreeSet:一种有序集合。
  6. EnumSet:一种可以包含枚举类型值的集。
  7. LinkedHashSet:一种可以记住元素插入次序的集。
  8. PriorityQueue:一种允许高效删除最小元素的集合。
  9. HashMap:一种存储键值关联的数据结构。
  10. TreeSet:一种键值排列有序的映射表。
  11. EnumMap:一种键值数据枚举类型的映射表。
  12. LinkedHashMap:一种可以记住键值项添加次序的映射表。
  13. WeakHashMap:一种其值无用武之地后可以被垃圾回收器回收的映射表。
  14. IdentityHashMap:一种用==而不是用equals比较键值的映射表。

集合结构示意图

部分具体特性脑图:

常用实现类以及对应接口:

原文地址:https://www.cnblogs.com/zhoujiayong/p/10144353.html