HashMap是什么?
HashMap是一个散列表,它存储的内容是键值对(key-value)映射
HashMap实现了Map接口,最多允许一条记录的键为null,不支持线程同步
HashMap是无序的,即不会记录插入的顺序
HashMap的key与value类型可以相同也可以不同,可以是String,Integer等
联机模式的用户列表就是用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对应的映射关系