Never forget why you started,
and your mission can be accomplished.

集合

ConcurrentHashMap 的实现原理

zhouchong阅读(88)评论(0)

概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,Ha...

LinkedList 的实现原理

zhouchong阅读(90)评论(0)

概述 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也...

ArrayList 的实现原理

zhouchong阅读(87)评论(0)

ArrayList 概述 ArrayList 可以理解为动态数组,用 MSDN 中的说法,就是 Array 的复杂版本。与 Java 中的数组相比,它的容量能动态增长。ArrayList 是 List 接口的可变数组的实现。实现了所有可选列...

HashMap 的实现原理

zhouchong阅读(90)评论(0)

HashMap 概述 HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布...

HashSet 的实现原理

zhouchong阅读(80)评论(0)

HashSet 概述 对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的。 我们先通过 HashSet 最简单的...

Hashtable 的实现原理

zhouchong阅读(89)评论(0)

概述 和 HashMap 一样,Hashtable 也是一个散列表,它存储的内容是键值对。 Hashtable 在 Java 中的定义为: public class Hashtable<K,V> extends Dictiona...

手写HashMap实现

zhouchong阅读(89)评论(0)

一、理解说明是哈希表,hashmap的实现原理 哈希表由数组+链表进行实现,见下图可进行说明,理解哈希表的内存模型和特点对于理解hashmap非常重要。哈希表的使用场景非常广泛,比如memcache其实就是一张非常大的哈希表。 二、重新ha...

set集合常见问题

zhouchong阅读(98)评论(0)

HashSet与HashMap怎么判断集合元素重复? HashMap集合判断两个元素相等的标准:两个对象的equals方法相等,并且hashCode方法返回值也相等。 HashSet不能添加重复的元素,当调用add(Object)方法时候,...

List常见问题

zhouchong阅读(108)评论(0)

说出ArrayList,Vector,LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素...

遍历集合的三种方法

zhouchong阅读(98)评论(0)

遍历集合的三种方法 使用Iterator进行对集合的遍历 //使用Iterator进行对集合的遍历 public static void main(String[] args) { List<String> list = new...