// 定义的时候需要分别指定key 和value 的类型
HashMap<String, Integer> hm1 = new HashMap<>();
// put 添加数据,key 必须有唯一性,不能重复,value 没有限制
hm1.put("张三", 80);
hm1.put("李四", 90);
// 通过 key 获取 value 的值
System.out.println(hm1.get("张三"));
System.out.println(hm1.get("李四"));
// 添加的时候,如果 key 有值,会替换原来的值
hm1.put("张三",50);
System.out.println(hm1.get("张三"));
// 如果对应的key 值不存在,会取出来 null
Integer num = hm1.get("王五");
// 需要两步
// 先进行是否为空的判断,若为空继续调用则会产生空指针异常
// Integer temp = hm1.get("王五"); // temp == null,null不能调任何属性和方法
// int num = temp.intValue(); // 产生空指针异常
// int num = hm1.get("王五"); // 产生空指针异常
// 集合获取基本类型的时候,需要获取对应的引用类型,然后进行不为空的判断,转换为基本类型
// HashMap 的遍历
/*
* 1.遍历所有的 key
* 2.遍历所有的value
* 3.遍历所有的key - value
*/
// 1. 遍历所有的 key,用keySet(),key 具有唯一性,所以返回值是set
Set<String> set = hm1.keySet();
for (String string : set) {
System.out.println(string);
}
// 2. 遍历所有的value ,返回值是Collection 类型
Collection<Integer> list = hm1.values();
for (Integer integer : list) {
System.out.println(integer);
}
// 3. 遍历所有的key - value ,Set<Entry<String, Integer>> 固定格式,只需要修改泛型即可
Set<Entry<String, Integer>> sEntries = hm1.entrySet();
for (Entry<String, Integer> entry : sEntries) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(entry);
System.out.println(key + "-----------" + value);
}
HashMap 的设置值,取值,遍历等
最新推荐文章于 2022-08-17 15:21:21 发布