在写题的时候用到了HashMap但是时间有点久了,所以该忘的都已经忘完了,今天来复习一下hashMap的使用方法。
提前导入util的包。
创建HashMap时要指定键值对的数据类型,即变量名前面的<>中指定键值对数据类型
import java.util.*;
HashMap<String,Integer> hm = new HashMap<>();//创建键为String类型,值为Integer类型的键值对序列。
hm.put("java",1);//存放键值对
hm.put("java",10);//修改键值对
System.out.println(hm.containsKey("java"));//键中是否包含这个数据,返回Boolean类型。
System.out.println(hm.get("java"));//通过键找值
注意:HashMap中重新放一个相同的key,会自动覆盖value的,从而达到修改的目的。
常用方法:
containKeys(参数 key):判断是否包含键key;
get(参数 key) :通过键找值;
isEmpty():判空;
size():集合长度。
remove(key):删除以key为键的键值对。
keySet():返回一个包含所有key的集合。
values():返回所有值的集合。
clear():清空所有的键值对。
遍历hashMap
//注意这里仅演示方法,没有往map里面存储值,直接运行就是空的变量,不会有任何
//方法一 foreach遍历
HashMap<String, String> map = new HashMap<>();
for (Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "," + value);
}
//方法二
Map<String, String> map = new HashMap<String, String>();
for (String key : map.keySet()) {
map.get(key);
}
//方法三 使用迭代器,效率高。
HashMap<String,Integer> h = new HashMap<>();
Iterator iter = h.entrySet().iterator();
while(iter.hasNext()){
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object values = entry.getValue();
System.out.println(key+":"+values);
}