
Java 集合
文章平均质量分 93
Java 集合
王呀嘛王胖砸
这个作者很懒,什么都没留下…
展开
-
java基础技术集合面试【笔记】
java基础技术集合面试【笔记】原文链接:java基础技术集合面试【笔记】Hashmap:基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变另外,HashMap是非线程安全的,也就是说在多线程的环境下,可能会存在问题,而Hashtable是线程安全的HashMap 内部的数据结构?各个版本的实现略转载 2021-03-08 11:15:24 · 137 阅读 · 0 评论 -
Java ArrayList【笔记】
Java ArrayList【笔记】原文如下:Java ArrayList【笔记】ArrayListArrayList基本结构ArrayList 整体架构比较简单,就是一个数组结构源码中的基本概念index 表示数组的下标,从 0 开始计数elementData 表示数组本身DEFAULT_CAPACITY 表示数组的初始大小,默认是 10size 表示当前数组的大小,类型 int,没有使用 volatile 修饰,非线程安全modCount 统计当前数组被修改的版本次数,数组结构有变转载 2021-03-08 11:08:56 · 179 阅读 · 0 评论 -
Java LinkedList【笔记】
Java LinkedList【笔记】原文链接:Java LinkedList【笔记】LinkedListLinkedList 适用于要求有顺序,并且会按照顺序进行迭代的场景,依赖于底层的链表结构LinkedList基本结构LinkedList 底层数据结构是一个双向链表链表每个节点叫做 Node,Node 有 prev 属性,代表前一个节点的位置,next 属性,代表后一个节点的位置双向链表的头节点(first)的前一个节点是 null双向链表的尾节点(last)的后一个节点是 null转载 2021-03-08 11:04:30 · 189 阅读 · 0 评论 -
Java HashMap【笔记】
Java HashMap【笔记】原文链接:Java HashMap【笔记】HashMapHashMap 基本结构HashMap 底层的数据结构主要是数组 + 链表 + 红黑树其中当链表的长度大于等于 8 时,链表会转化成红黑树,当红黑树的大小小于等于 6 时,红黑树会转化成链表类注释1.允许 null 值,不同于 HashTable ,是线程不安全的2.load factor 默认值是 0.75,是均衡了时间和空间损耗算出来的值,较高的值会减少空间开销,但增加了查找成本,不扩容的条件:数组转载 2021-03-08 11:00:48 · 205 阅读 · 0 评论 -
Java TreeMap 和 LinkedHashMap【笔记】
Java TreeMap 和 LinkedHashMap【笔记】原文链接:Java TreeMap 和 LinkedHashMap【笔记】TreeMapTreeMap基本结构TreeMap 底层的数据结构就是红黑树,和 HashMap 的红黑树结构一样与HashMap不同的是,TreeMap 利用了红黑树左节点小,右节点大的性质,根据 key 进行排序,使每个元素能够插入到红黑树大小适当的位置,维护了 key 的大小关系,适用于 key 需要排序的场景TreeMap 常见属性//比较器,如果转载 2021-03-08 10:54:41 · 338 阅读 · 0 评论 -
Java HashSet和TreeSet【笔记】
Java HashSet和TreeSet【笔记】PS:HashSet、TreeSet 两个类是在 Map 的基础上组装起来的类原文链接:Java HashSet和TreeSet【笔记】HashSet类注释1.底层实现基于 HashMap,所以迭代时不能保证按照插入顺序,或者其它顺序进行迭代2.add、remove、contanins、size 等方法的耗时性能,是不会随着数据量的增加而增加的,这个主要跟 HashMap 底层的数组数据结构有关,不管数据量多大,不考虑 hash 冲突的情况下,时转载 2021-03-08 10:50:00 · 148 阅读 · 0 评论