邹瑞20201008
总结
java.util.LinkedList
public class LinkedList
extends AbstractSequentialList
implements List
继承关系图:
常用方法
使用链表增删效率高;数组查找效率高
数组内存空间连续,链表不连续
推荐使用数组
java.util.Map
Map 接口不是 Collection 的子类,使用键、值映射表来存储
public interface Map<K,V
注意
- Map 不能有重复的键(覆盖),每个键可以映射到多一个值
- 允许将映射内容视为一组键,值集合或键值映射集合
- key 不要求有序, value 也不要求有序,但可以重复
- 当使用对象作为 key 时,要重写 equals 和 hashCode 方法
抽象方法
Map 的实现类较多,在此我们关注 HashMap 、 TreeMap 、 HashTable 、 LinkedHashMap
TreeMap
public class TreeMap
extends AbstractMap
implements NavigableMap
- 继承 AbstractMap ,一个红黑树基于 NavigableMap 实现
- 非线程安全的
- key 不能存 `null ,但是 value 可以存 null
- key 必须是可比较的
Hashtable
public class Hashtable
extends Dictionary
implements Map
- 该类实现了一个哈希表,它将键映射到值
- 不允许 null 作为键和值
- 初始容量( initialCapacity )为 11 ,负载因子( loadFactor )为 0.75f
- 线程安全的
- 不保证顺序
- 扩容方式是旧容量的2倍 +1
- 数组 + 链表
心得
深层东西听不太懂,只能先慢慢背,但知道如何去用,只能后面慢慢用的时候理解了。
近期评论