Java之HashMap
- 我的机遇:
- 一个非常偶然的机会我结识到了
hashMap
, 我真的是欣喜若狂,所以我需要静下心来写好我对于它的认识,以此来表达我对于它的崇拜。
- 一个非常偶然的机会我结识到了
- hashMap的来源:
hashMap
和hashSet
是Java Collection FrameWork
的两个重要成员,其中hashMap
是Map
接口的常用实现类,hashSet
是Set
接口的常用实现类。虽然hashMap
和hashSet
实现的接口规范不同, 但是它们底层的实现Hash
存储机制完全一样,甚至hashSet
本身就采用hashMap
来实现。
- 可能这里有很多coding小伙伴甚至不明白
Map
的含义,这里Big-man他本人需要进行讲解一下map
的概念。map
在不同的语言里面存在不少的差异,这里Big-man他自己是去讲解java
语言中的map
概念。 java.util
中的集合类包含 Java 中某些最常用的类。最常用的集合类是List
和Map
。List 的具体实现包括ArrayList
和Vector
,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。List
适用于按数值索引访问元素的情形。- Map 提供了一个更通用的元素存储方法。
Map
集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。从概念上而言,您可以将List
看作是具有数值键的Map
。而实际上,除了 List 和 Map 都在定义 java.util 中外,两者并没有直接的联系。 - Big-man的理解:
- List存储的是这种形式的数据类似于数组的形式:[0, 1, 2, 3],但是数组自带就有位置信息,所以在介绍map的时候就说了
List
是具有数值键的Map
, 它的键就是数组自带的位置信息。 - Map存储的数据格式类型已经说明了,元素对又是什么?
{"name": "jackdan9", "password": "19950917"}
类似于这样的信息。 - 更详细的介绍请参考Map。
- 这时候有一个美丽的姑娘说了Big-man你这样不连带介绍一下
hash
了?美女的要求想来不能狗拒绝的我,在这里继续需要谈一谈hash
。 - 其实这一部分Big-man不知道怎么进行解释?因为hash这个概念单独的拿在java里面说,只能说
hash
值或者hash
表。然而这位美女又说了,那你就解释一下hash
值和hash
表吧。我表示无语,但又必须答应的。
hash
值:
Jackdan9 Thinking