Java集合基础篇(4)-HashMap基本用法

来源:互联网 发布:淘宝店铺导航全屏代码 编辑:程序博客网 时间:2024/06/14 09:25

HashMap实现Map接口, 以键/值对的形式存储数据。根据Hash算法来计划key-value的位置。 可以实现快速的存取。
下面比较一下所有实现了Map接口的类, 后面会一一讲解:

类 说明 使用场景 HashMap Map通用实现,元素是无序的。 存取速度快 LinkedHashMap 有序,和插入的顺序一样 有序的 TreeMap 有序,按照键排序 有序的 ConcurrentHashMap 线程安全的。在进阶篇中详细讲解。 ConcurrentSkipListMap 线程安全的。在进阶篇中详细讲解。 EnumMap 键是枚举类型 Hashtable 数据结构和HashMap差不多,过时的类,不建议使用

- 示例

(1) 新建一个HashMap

Map<String,String> map = new HashMap<>();

(2) 添加元素

map.put("key1","hello");map.put("key2","world");map.put("key1","helloworld");map.put(null,"tom");map.put("key3",null);System.out.println(map);

程序执行结果:
{key1=helloworld, null=tom, key2=world, key3=null}
说明一下:
- Key不能有重复, 若put重复的key, 会新的value会替换旧的数据.
- Key和value都允许为Null

(3) 获取元素
使用get(key)方法

System.out.println(map.get("key1"));System.out.println(map.get(null));

程序执行结果:
helloworld
tom

(4) 移除元素
方法一: remove(key)方法, 根据key删除数据:

map.remove("key3");

方法二: 迭代器删除,删除指定的数据:

Iterator<Map.Entry<String,String>> iter = map.entrySet().iterator();while(iter.hasNext()) {    Map.Entry<String,String> e = iter.next();    if ("helloworld".equals(e.getValue())) {        iter.remove();    }}

方法三: clear()方法, 删除所有元素

map.clear();

(5) HashMap其它常用方法:
- size()方法: 得到Map中元素的个数
- isEmpty()方法: 判断Map中是否有元素, 没有返回true
这两个方法, 大家可以测试一下。

这里写图片描述

原创粉丝点击