java集合的数据结构
程序员文章站
2022-07-13 16:14:17
...
String[]: 数组 固定长度
ArrayList<E>: Object[] 数组实现 查询快、插入快、删除慢 有序 1.5倍+1扩容
LinkedList<E>: Entry<E> next、previous 链表实现 插入快、删除快 有序 1.5倍+1扩容
HashMap<K,V>: 数组+链表实现 通过key-value对存储数据,查询快 、插入快、删除快; 如果键相同,就替换旧值 无序 2倍扩容
HashSet<E>: 使用HashMap<E,Object>实现 用了键值 无序 2倍扩容
LinkedHashSet 继承了HashSet
LinkedHashMap 继承了HashMap
TreeMap 二叉树 插入慢、查询快 有序(键) 键的排序需要提供comparator
HashMap的键K: 在hash(K.hashcode()) 用到了键的hashcode
在get()时用到了键的equals()方法
在使用HashMap时,如果键是一个对象需要重写hashcode()、equals()方法
上一篇: Enum 枚举类型
下一篇: dubbo接口超时时间的优先级