当前位置:   article > 正文

哈希映射(HashMap)

哈希映射

       哈希映射是java中的一种数据结构,它使用对象来检索另一个对象,第一个对象是键,第二个对象是值,它们是作为java.util包中的HashMap类来实现的
可以通过调用其无参的构造函数来创建哈希映射:

HashMap map = new HashMap();
  • 1

使用泛型来指明键和值的类,它们放在"<“和”>"字符内,而且类名使用逗号分隔,如下所示

HashMap<String, Integer> map = new HashMap<>();
  • 1
put(Object,Object)

通过调用带有两个参数(键和值)的put(Object,Object)方法,将对象存储到哈希映射中

map.put("Tom", 18);
  • 1

这将一个键为Tom,值为18的条目存储到哈希映射中

get(Object)

通过调用get(Object)方法,同时将键作为其唯一的参数,可以从映射中检索对象

HashMap<String, Integer> map = new HashMap<>();
map.put("Tom", 18);
int age = map.get("Tom");
System.out.println(age);
  • 1
  • 2
  • 3
  • 4

如果没有发现匹配该键值,get()方法将返回一个null,处理这一潜在问题的另外一种方式是调用getOrDefault(Object,Object),如果作为第一个参数的键没有被找到,则默认范围第二个参数,如下面的语句所示

HashMap<String, Integer> map = new HashMap<>();
map.put("Tom", 18);
int number = map.getOrDefault("Tom", -1);
System.out.println(number);
  • 1
  • 2
  • 3
  • 4
remove(Object key)

通过调用remove方法删除属性值,只要传入对应的key即可

HashMap<String,Integer> map = new HashMap<>();
map.put("Tom",18);
map.put("lisa",17);
System.out.println("调用remove方法之前 "+map);//调用remove方法之前 {Tom=18, lisa=17}
map.remove("lisa");
System.out.println("调用remove方法之后 "+map);//调用remove方法之后 {Tom=18}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
foreach()

下面用for循环语句使用条目集合和条目来访问map哈希映射中的所有键和所有值:

HashMap<String, Integer> map = new HashMap<>();
map.put("Tom", 18);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
	String key = entry.getKey();
	Integer value = entry.getValue();
	System.out.println("key:"+key);
	System.out.println("value:"+value);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
containsKey(key)与containsValue(value)

通过containsKey(key)与containsValue(value)可以判断是否有键值,返回的是true或false的布尔值

HashMap<String, Integer> map = new HashMap<>();
map.put("Tom", 18);
System.out.println(map.containsKey("Tom"));
System.out.println(map.containsValue(2));
  • 1
  • 2
  • 3
  • 4

输出结果为:
true
false

isEmpty()

该方法用于判断是否有哈希值,返回的是一个布尔值

HashMap<String, Integer> map = new HashMap<>();
map.put("Tom",18);
System.out.println(map.isEmpty());
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/350863
推荐阅读
相关标签
  

闽ICP备14008679号