21xrx.com
2024-11-05 17:19:30 Tuesday
登录
文章检索 我的文章 写文章
JavaMap:如何通过Key获取Value?
2023-07-05 08:06:29 深夜i     --     --
JavaMap Key Value 获取 如何

在Java中,Map(映射)是一种非常有用的数据结构,它允许将键(key)和值(value)之间建立关联。Map的实现类有很多种,比如HashMap、TreeMap等,它们都提供了通过键(key)获取值(value)的方法,本文将以HashMap为例来介绍如何通过键来获取对应的值。

HashMap是Java中最常用的Map实现类之一,它基于哈希表实现,可以存储键值对。下面我们来看一下如何通过键来获取值。

假设我们定义了一个HashMap,它存储的是生日信息:


Map<String, String> birthdays = new HashMap<>();

birthdays.put("Alice", "January 1");

birthdays.put("Bob", "February 3");

birthdays.put("Carol", "March 5");

上述代码中,我们定义了一个HashMap,键的类型为String,值的类型也为String。接着,我们向这个HashMap中添加了三组键值对,分别为"Alice"-"January 1"、"Bob"-"February 3"、"Carol"-"March 5"。

现在,我们可以通过get()方法来获取某个键对应的值,比如:


String aliceBirthday = birthdays.get("Alice");

System.out.println(aliceBirthday);

这段代码的含义是:从birthdays中获取键为"Alice"的值,并将其赋值给aliceBirthday变量。最后,我们通过System.out.println()方法将aliceBirthday输出到控制台。运行上述代码,将输出"January 1"。

当然,如果试图获取一个不存在的键对应的值,将返回null:


String davidBirthday = birthdays.get("David");

System.out.println(davidBirthday); // 输出null

如果我们希望在获取一个不存在的键对应的值时返回一个默认值,可以使用getOrDefault()方法。该方法接受两个参数,第一个参数是要查找的键,第二个参数是默认值。如果找到了对应的值,将返回该值,否则返回默认值。例如:


String davidBirthday = birthdays.getOrDefault("David", "Unknown");

System.out.println(davidBirthday); // 输出"Unknown"

除了get()方法和getOrDefault()方法,还可以使用containsKey()方法来判断一个键是否存在于Map中。该方法返回一个布尔值,如果存在则返回true,否则返回false。


boolean hasAlice = birthdays.containsKey("Alice");

System.out.println(hasAlice); // 输出true

boolean hasDavid = birthdays.containsKey("David");

System.out.println(hasDavid); // 输出false

总结一下,通过Map.get()方法可以根据键(key)获取对应的值(value),Map.getOrDefault()方法可以在获取不存在的键值时返回一个默认值,Map.containsKey()方法可以判断一个键是否存在于Map中。在实际开发中,我们应该根据具体的需求来选择合适的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复