创建一个新的HashMap集合 /初始默认数组的大小static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大容量static final int MAXIMUM_CAPACITY = 1 << 30;//默认的负载因子stat ...
分类:
其他好文 时间:
2020-03-17 19:16:28
阅读次数:
70
java.util Class HashMap<K,V> java.lang.Object java.util.AbstractMap<K,V> java.util.HashMap<K,V> 参数类型 K - 由该Map维护的键的类型 V - 映射值的类型 public class HashMap< ...
分类:
编程语言 时间:
2020-03-17 19:08:43
阅读次数:
86
一.HashMap底层源码剖析 1.介绍HashMap底层用到的数据结构 数组:数组的每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当发生Hash碰撞时,首先会找到数组对应位置,然后1.8采用尾插入法(1.7采用头插入法),形成一个单向链表结构 jdk1.8 后 红黑树:当数组中每项的链 ...
分类:
其他好文 时间:
2020-03-17 13:56:31
阅读次数:
46
题目描述 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表 wo ...
分类:
其他好文 时间:
2020-03-17 12:38:05
阅读次数:
68
Q:HashMap 的工作原理? A:HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry<K,V>接口)实现,HashMap 通过 put & get 方法存储和获取。 存储对象时,将 K/V 键值传给 put() 方法:① ...
分类:
其他好文 时间:
2020-03-16 19:02:02
阅读次数:
78
https://juejin.im/post/5d4a7559f265da03e05afcb4 为什么需要B树和B+树 我们常用的二叉搜索树的结构是红黑树,包括面试中红黑树被问到的几率也更大。甚至Java中的HashMap里面的实现也是红黑树,课件红黑树的强大和其广泛的适用性。那么为什么还要发明出b ...
分类:
其他好文 时间:
2020-03-16 17:45:38
阅读次数:
56
一.了解Map集合吗?Map集合都有哪些实现 HashMap 、HashTable、 LinkedHashMap 、TreeMap、 ConcurrentHashMap HashMap底层数据结构是哈希表,所以其特点是元素无序且唯一(自定义对象需要重写hashCode和equals方法保证他的唯一性 ...
分类:
其他好文 时间:
2020-03-16 16:25:48
阅读次数:
83
最近在学习Android Studio时,回顾了一些Java源码,发现有些源码点开以后找不到对应的真正代码,如HashMap中的TreeNode是继承自LinkedHashMap.LinkedHashMapEntry,但显示找不见LinkedHashMapEntry这个静态内部类,而且LinkedH ...
分类:
移动开发 时间:
2020-03-16 15:07:59
阅读次数:
304
1.了解map集合,map集合都有哪些实现? 1.1 hashMap 1.2 hashTable 1.3 LinkedHashMap 1.4 TreeMap 1.5 ConcurrentHashMap 2.HashMap和HashTable之间的区别? 2.1 HashMap:底层基于数组+链表(红 ...
分类:
其他好文 时间:
2020-03-16 14:32:04
阅读次数:
45
一.了解Map集合吗?Map集合都有哪些实现 1.HashMap HashTable LinkedHashMap TreeMap ConcurrentHashMap 二.HashMap和HashTable之间的区别 1.HashMap:底层基于数组+单向链表(红黑树),非线程安全,默认容量为16,允 ...
分类:
其他好文 时间:
2020-03-16 13:18:06
阅读次数:
49