集合
文章平均质量分 58
起个名字是真的南
也不是所有的伤痛都可以被抚平,总有时间也无能无力的事情
展开
-
HashMap 底层实现原理
要了解HashMap的底层实现原理,我们首先要对HashMap的部分底层源码进行分析 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 我们可以看出HashMap继承了AbstractMap,实现了Map,Cloneable,Serializable接口。 static final int DEFAULT_I原创 2021-08-02 19:08:30 · 2816 阅读 · 5 评论 -
HashMap和HashTable的比较(简述)
HashMap:实现了Map接口,线程不安全的,key、value都可以为null,添加元素时,是使用自定义的哈希算法。HashMap默认的容量大小是16;扩容时,每次将容量变为“原始容量x2”。 Hashtable:继承自Dictionary类,是线程安全的,key、value都不可以为null,添加元素时,直接采用的key的hashCode()。Hashtable默认的容量大小是11;扩容时,每次将容量变为“原始容量x2 + 1”。 ...原创 2021-08-02 16:49:43 · 115 阅读 · 0 评论 -
ArrayList 和 Vector 的区别
这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我 们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是 HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了说清楚 ArrayList 与 Vector 的功能,我们使用对比方式,更有利于说明问题)。原创 2021-07-19 11:16:59 · 238 阅读 · 0 评论