总结一下Java容器类

1、分类


Collection接口

  • List,按照插入顺序保存元素
  • Set,插入元素不能重复且无序
  • Queue,先进先出

Map接口

键值对的一组映射。

2、实现类


2.1 List


ArrayList

  • 基于数组实现
  • 优点在于随机访问列表中的元素速度快
  • 缺点在于插入删除效率低

LinkedList

  1. 当实现Queue接口的时候,添加了element()/peek()/poll()/offer()/remove()方法
  2. getFirst()/element()和peek()
  • 获取列表第一个元素
  • 列表为空时,element()抛出NoSuchElementException异常,peek()返回null
  1. removeFirst()/remove()和poll()
  • 删除列表第一个元素
  • 列表为空时remove()抛出异常,poll()返回null

2.2 Set


Set的最重要的应用就是判断一个元素是否在一个Set中,* contains()/containsAll() ,因此查找就成了Set中最重要的操作,通常会选择一个 HashSet *来实现快速查找。

HashSet

采用散列函数,查找速度较快,顺序与添加的顺序可能不同

TreeSet

元素存储在红-黑树中,对元素进行排序

LinkedHashSet

既保存了查找的速度,也保存了插入的顺序

3、迭代器Iterator


Iterator的真正威力在于:统一了对所有容器类的遍历

4、简单的容器分类图

总结一下Java容器类_第1张图片
容器分类图

你可能感兴趣的:(总结一下Java容器类)