Java中的HashMap
简介
HashMap是什么?
HashMap是一个散列表,它存储的内容是键值对(key-value)映射
HashMap实现了Map接口,最多允许一条记录的键为null,不支持线程同步
HashMap是无序的,即不会记录插入的顺序
HashMap的key与value类型可以相同也可以不同,可以是String,Integer等
联机模式的用户列表就是用HashMap存储的
相对于数组存储方式 HashMap的查找删除操作更方便,当用户断开连接时可以很方便地删除
常用
导入HashMap类
HashMap类位于java.util包中,使用前需要引入它
import java.util.HashMap;
构造
构造HashMap的时候需要说明键值对的类型<keytype, valuetype>
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
添加元素
添加键值对可以使用put()方法
方法原型:
String java.util.HashMap.put(String key, String value);
方法实例:
Sites.put(1,"HFUT");
Sites.put(2,"USTC");
执行输出System.out.println(Sites);
得到的结果
{1=HFUT, 2=USTC}
访问元素
调用get(key)方法获取key对应的value
String java.util.HashMap.get(Object key);
删除元素
调用remove(key)方法删除key对应键值对(key-value)
String java.util.HashMap.remove(Object key)
计算大小
调用size()方法计算HashMap中的元素数量
int java.util.HashMap.size()
迭代
使用for-each来迭代HashMap中的元素
如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。
// 引入 HashMap 类
import java.util.HashMap;
public class RunoobTest {
public static void main(String[] args) {
// 创建 HashMap 对象 Sites
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
// 添加键值对
Sites.put(1, "Google");
Sites.put(2, "Runoob");
Sites.put(3, "Taobao");
Sites.put(4, "Zhihu");
// 输出 key 和 value
for (Integer i : Sites.keySet()) {
System.out.println("key: " + i + " value: " + Sites.get(i));
}
// 返回所有 value 值
for(String value: Sites.values()) {
// 输出每一个value
System.out.print(value + ", ");
}
}
}
查重
containsKey();//检查是否存在指定的key对应的映射关系
containsValue();//检查是否存在指定的value对应的映射关系