20201008+袁鑫

学习日志:

知识总结:

LinkedList

LinkedList 的直接父类是AbstractSequentialList,实现了List、Deque

LinkedList是一个双向链表,允许存储null,此实现不同步(非线程安全的)

ArrayList / LinkedList比较

都实现了List接口,都是有序的、可以重复的、可以存null值的集合

  • ArrayList在随机访问(获取元素时)效率比LinkedList高
  • 在添加元素到末尾时,两个集合效率差不多
  • 在任意位置添加元素时,LinkedList效率更高
  • 在任意位置删除元素时,LinkedList效率高
  • 内存,ArrayList使用的是连续空间。
Map

Map接口不是collection的子类,使用键、值映射表来存储

  • Map不能有重复的键(覆盖),每个键可以映射到最多一个值
  • 允许将映射内容是唯一组键,值集合或键值映射集合
  • key不要求有序,value也不要求有序,但可以重复
  • 当使用对象作为key时,要重写quals和hashCode方法
TreeMap
  • 继承AbstractMap,一个红黑树基于NavigableMap实现
  • 非线程安全
  • key不能存null,但是value可以存null
  • key必须是课比较的
Hashtable
  • 该类实现了一个哈希表,他将键映射到值
  • 不允许null作为键和值
  • 初始容量(initialCapacity)为11,负载因子(loadFactor)为0.75f
  • 线程安全的
  • 不保证顺序
  • 扩容方式是就容量的2倍+1
  • 数组+链表
HashMap
  • 基于哈希表的实现的Map接口
  • 允许null的值和null键
  • 非线程安全
  • 初始容量16,负载因子0.75
  • 扩容是2倍旧容量

HashMap 类大致相当于 Hashtable ,除了它是不同步的,并允许null

LinkedHashMap
  • 哈希表和双向链表实现的Map接口
  • 具有可预测的迭代次序(有序)
  • 非线程安全
  • 允许空元素

标签

评论

this is is footer