Java进阶(一):HashMap
1.概念
HashMap
是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap
实现了Map
接口,根据键的HashCode
值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。
HashMap
是无序的,即不会记录插入的顺序。
HashMap
继承于AbstractMap
,实现了Map
、Cloneable
、 java.io.Serializable
接口。
HashMap
的key
与value
类型可以相同也可以不同,可以使字符串(String
)类型的key
和value
,也可以是整型(Integer
)类型的key
和value
。
HashMap
位于java.util
包中,使用前需要引用它,语法格式如下:
1 | import java.util.HashMap |
以下实例我们创建一个HashMap
对象map
,整型(Integer
)的key
和字符串(String
)类型的value
.
1 | HashMap<Integer, String> map = new HashMap<>(); |
2.操作
2.1 添加元素
HashMap
类提供了很多有用的方法,添加键值对(key-value
)可以使用 put()
方法:
1 | // 添加元素 |
执行以上代码,输出结果如下:
1 | {1=Google, 2=Taobao, 3=Zhihu} |
2.2 访问元素
我们可以使用 get(key)
方法来获取 key
对应的 value
:
1 | // 访问元素 |
执行以上代码,输出结果如下:
1 | Zhihu |
2.3 删除元素
我们可以使用remove(key)
方法来删除 key
对应的键值对(key-value
):
1 | // 删除元素 |
执行以上代码,输出结果如下:
1 | {1=Google, 2=Taobao} |
2.4 计算大小
如果要计算 HashMap
中的元素数量可以使用 size()
方法:
1 | // 计算大小 |
执行以上代码,输出结果如下:
1 | 3 |
2.5 迭代HashMap
可以使用for-each
来迭代HashMap
中的元素。
如果你只想获取key
,可以使用keySet()
方法,然后通过get(Key)
获取对应的value
;如果你只想获取value
,可以使用values()
方法。
1 | public static void main(String[] args) { |
执行以上代码,输出结果如下:
1 | key:1, value:Google |
3.Java HashMap方法
Java HashMap
常用方法列表如下:
方法 | 描述 |
---|---|
clear() | 删除 hashMap 中的所有键/值对 |
clone() | 复制一份 hashMap |
isEmpty() | 判断 hashMap 是否为空 |
size() | 计算 hashMap 中键/值对的数量 |
put() | 将键/值对添加到 hashMap 中 |
remove() | 删除 hashMap 中指定键 key 的映射关系 |
get() | 获取指定 key 对应对 value |
keySet() | 返回 hashMap 中所有 key 组成的集合视图。 |
values() | 返回 hashMap 中存在的所有 value 值。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 码农小山!
评论