常用类 他们都在java.lang包中 Object类 Object类是类层次结构的根。每个类都有 Object作为超类。所有对象,包括数组,实现这个类的方法。 hashCode() toString() clone() getClass() notify() wait() equals() ... ...
分类:
编程语言 时间:
2020-07-13 21:33:10
阅读次数:
79
概览 我们先来看一看java中所有集合的类关系图。 这里面的类太多了,请放大看,如果放大还看不清,请再放大看,如果还是看不清,请放弃。 我们下面主要分成五个部分来逐个击破。 List List中的元素是有序的、可重复的,主要实现方式有动态数组和链表。 java中提供的List的实现主要有ArrayL ...
分类:
其他好文 时间:
2020-07-13 18:01:44
阅读次数:
85
1. 需要 Map 的主键和取值时,应该迭代 entrySet() 当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。 反例: Map<String, ...
分类:
编程语言 时间:
2020-07-12 20:25:28
阅读次数:
52
HashSet 的内部采用 HashMap 来实现。由于 Map 需要 key 和 value,所以 所有 key 的都有一个默认 value。类似于 HashMap,HashSet 不允许重复的 key,只允许有一个 null key,意思就是 HashSet 中只允许存储一个 null 对象。 ...
分类:
编程语言 时间:
2020-07-12 18:41:07
阅读次数:
96
有可能,两个不相等的对象可能会有相同的 hashcode 值,这就是为什么在 hashmap 中会有冲突。相等 hashcode 值的规定只是说如果两个对象相等,必 须有相同的 hashcode 值,但是没有关于不相等对象的任何规定。 ...
分类:
其他好文 时间:
2020-07-12 15:07:31
阅读次数:
156
因为有强制的规范指定需要同时重写 hashcode 与 equal 是方法,许多容器类, 如 HashMap、HashSet 都依赖于 hashcode 与 equals 的规定。 ...
分类:
其他好文 时间:
2020-07-11 23:02:34
阅读次数:
75
Map接口Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写hashCode()和equals()方法常用String类作为Map的“键”key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的valueM
分类:
编程语言 时间:
2020-07-10 19:24:44
阅读次数:
72
Map接口 Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写 hashCode()和 equals()方法常用 String类作为 ...
分类:
编程语言 时间:
2020-07-10 15:04:01
阅读次数:
768
当hashMap中的节点数超过阈值的时候,就会自动扩容,扩容的时候就会调整hashMap的大小,一旦调整了hashMap的大小就会导致之前的hashCode计算出来的hash表中下标无效,所以所有的节点都需要重新hash运算,结果就是带来时间上的浪费。因此我们要尽量避免hashMap调整大小,所以我 ...
分类:
其他好文 时间:
2020-07-10 13:37:54
阅读次数:
93
定制比较规则: 1.内部比较器|自然排序 要当前比较的类型实现一个借口Comparable接口,重写compareTo方法,方法的内部制定比较规则 硬编码习惯,不够灵活,每次修改源代码 @Override public int compareTo(Person o) { return o.age-t ...
分类:
其他好文 时间:
2020-07-09 22:17:11
阅读次数:
74