Map是Java中常用的集合類型之一,它以鍵值對的形式存儲數據。Map中的get方法是用於獲取Map中指定key對應的value值的方法,本文將詳細講解Map的get方法的使用。
一、get方法的基本使用
/**
* 根據指定的key獲取對應的value
*
* @param key 指定的key
* @return 如果有對應的value則返回value,否則返回null
*/
V get(Object key);
get方法的返回值為V類型,即Map中value的類型。它根據指定的key獲取對應的value,如果有對應的value則返回value,否則返回null。
下面是一個簡單的示例,演示了使用get方法獲取Map中的value。
import java.util.HashMap;
import java.util.Map;
public class MapGetDemo {
public static void main(String[] args) {
Map map = new HashMap();
map.put("name", "張三");
map.put("age", "18");
map.put("gender", "male");
String name = map.get("name");
String phone = map.get("phone");
System.out.println("name: " + name);
System.out.println("phone: " + phone);
}
}
輸出:
name: 張三 phone: null
可以看到,在這個簡單的示例中,我們創建了一個Map對象,向其中添加了三個鍵值對。接著,我們使用get方法獲取了兩個key對應的value,並將其輸出。由於Map中不存在「phone」對應的value,所以返回null。
二、get方法的常見用法
1. Map中不存在對應的key時返回默認值
在使用get方法時,如果Map中不存在指定的key,則返回null。但是有時候我們希望在不存在key時,返回一個默認值,這時就可以使用getOrDefault方法。
/**
* 根據指定的key獲取對應的value,如果Map中不存在指定的key,則返回defaultValue
*
* @param key 指定的key
* @param defaultValue Map中不存在指定的key時返回的默認值
* @return 如果有對應的value則返回value,否則返回defaultValue
*/
V getOrDefault(Object key, V defaultValue);
getOrDefault方法的返回值為V類型,即Map中value的類型。它根據指定的key獲取對應的value,如果Map中不存在指定的key,則返回defaultValue指定的默認值。
下面是一個示例,演示了使用getOrDefault方法獲取Map中的value,同時返回默認值。
import java.util.HashMap;
import java.util.Map;
public class MapGetOrDefaultDemo {
public static void main(String[] args) {
Map map = new HashMap();
map.put("name", "張三");
map.put("age", "18");
map.put("gender", "male");
String name = map.getOrDefault("name", "未知");
String phone = map.getOrDefault("phone", "未知");
System.out.println("name: " + name);
System.out.println("phone: " + phone);
}
}
輸出:
name: 張三 phone: 未知
可以看到,在這個示例中,我們使用了getOrDefault方法獲取了兩個key對應的value並將其輸出。由於Map中不存在「phone」對應的value,所以返回了默認值「未知」。而對於「name」對應的value,則返回了Map中實際的value值「張三」。
2. Map中存在多個key時返回任意一個value
在Map中,有時會存在多個key對應同一個value的情況,這時我們希望能夠隨機獲取其中一個key對應的value,這時就可以使用keySet方法和get方法一起實現。
下面是一個示例,演示了如何隨機獲取Map中某一個key對應的value。
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapGetRandomKeyDemo {
public static void main(String[] args) {
Map map = new HashMap();
map.put("name", "張三");
map.put("age", "18");
map.put("gender", "male");
map.put("nickname", "小張");
Set keySet = map.keySet(); // 獲取Map中所有的key
int randomIndex = (int) (Math.random() * keySet.size()); // 隨機獲取一個key的下標
String randomKey = (String) keySet.toArray()[randomIndex]; // 獲取隨機的一個key
String value = map.get(randomKey); // 獲取隨機key對應的value
System.out.println("隨機獲取的key為:" + randomKey);
System.out.println("對應的value為:" + value);
}
}
輸出:
隨機獲取的key為:gender 對應的value為:male
可以看到,在這個示例中,我們使用keySet方法獲取了Map中所有的key,隨機獲取了一個key,並使用get方法獲取了該key對應的value。需要注意的是,由於Map中的key是無序的,所以返回的是隨機的一個value。
3. 判斷Map中是否存在指定的key
在使用Map時,有時需要判斷Map中是否包含了指定的key,這時可以使用containsKey方法。
/**
* 判斷Map中是否包含指定的key
*
* @param key 指定的key
* @return 如果包含指定的key則返回true,否則返回false
*/
boolean containsKey(Object key);
containsKey方法的返回值為boolean類型,即返回true表示Map中包含指定的key,否則返回false。
下面是一個示例,演示了如何判斷Map中是否包含指定的key。
import java.util.HashMap;
import java.util.Map;
public class MapContainsKeyDemo {
public static void main(String[] args) {
Map map = new HashMap();
map.put("name", "張三");
map.put("age", "18");
map.put("gender", "male");
map.put("nickname", "小張");
boolean containsName = map.containsKey("name");
boolean containsPhone = map.containsKey("phone");
System.out.println("containsName: " + containsName);
System.out.println("containsPhone: " + containsPhone);
}
}
輸出:
containsName: true containsPhone: false
可以看到,在這個示例中,我們使用了containsKey方法判斷Map中是否包含指定的key,並將結果輸出。由於Map中存在「name」對應的key,因此containsName返回true;而對於「phone」對應的key,則不存在,因此containsPhone返回false。
總結
本文詳細介紹了Java中Map的get方法的使用,包括基本的功能和常見的用法。在實際編程中,Map是常用的集合類型之一,get方法也是常用的方法之一。熟練掌握Map的get方法的使用可以提高編程效率,減少出錯幾率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196148.html
微信掃一掃
支付寶掃一掃