一、使用containsKey方法判斷
判斷Map是否包含特定的Key,可以使用Map自帶的containsKey方法。該方法接受一個Key類型的參數,返回一個boolean類型的值。如果Map包含指定Key,則返回true;否則返回false。
// 創建一個Map
Map<String, String> map = new HashMap<>();
// 向Map中添加Key-Value
map.put("name", "Tom");
map.put("age", "18");
map.put("gender", "male");
// 判斷Map是否包含指定Key
if(map.containsKey("name")) {
System.out.println("Map包含name這個Key");
} else {
System.out.println("Map不包含name這個Key");
}
上述代碼中,我們創建了一個Map,使用containsKey方法判斷Map是否包含”name”這個Key。因為Map中包含”name”這個Key,所以會輸出”Map包含name這個Key”。
二、使用containsValue方法判斷
除了使用containsKey方法,還可以使用Map自帶的containsValue方法判斷Map中是否包含特定的Value。該方法接受一個Value類型的參數,返回一個boolean類型的值。如果Map中包含指定的Value,返回true;否則返回false。
//創建一個Map
Map<String, String> map = new HashMap<>();
//向Map中添加Key-Value
map.put("name", "Tom");
map.put("age", "18");
map.put("gender", "male");
//判斷Map中是否包含指定的Value
if(map.containsValue("Tom")) {
System.out.println("Map中包含Tom這個Value");
} else {
System.out.println("Map中不包含Tom這個Value");
}
上述代碼中,我們創建了一個Map,使用containsValue方法判斷Map中是否包含Value為”Tom”的值。因為Map中包含”Tom”這個Value,所以會輸出”Map中包含Tom這個Value”。
三、使用entrySet方法判斷
除了使用Map自帶的containsKey和containsValue方法之外,還可以使用entrySet方法來遍歷Map中的所有鍵值對。entrySet方法返回一個Set類型的集合,該集合中的每一個元素都是Map.Entry類型的實例,其中包含Map中每一個鍵值對的信息。下面的代碼演示了如何使用entrySet方法來判斷Map是否包含特定的Key。
//創建一個Map
Map<String, String> map = new HashMap<>();
//向Map中添加Key-Value
map.put("name", "Tom");
map.put("age", "18");
map.put("gender", "male");
//遍歷Map中的所有鍵值對
for(Map.Entry<String, String> entry : map.entrySet()) {
if(entry.getKey().equals("name")) {
System.out.println("Map中包含name這個Key");
break;
}
}
上述代碼中,我們使用entrySet方法遍歷Map中的所有鍵值對,判斷其中的每一個Key是否等於”name”。如果包含此Key,則輸出”Map中包含name這個Key”。
四、使用Lambda表達式判斷
Java 8引入了Lambda表達式,可以使用Lambda表達式來判斷Map中是否包含特定的Key或Value。下面的代碼演示了如何使用Lambda表達式來判斷Map中是否包含Key為”name”的鍵值對:
//創建一個Map
Map<String, String> map = new HashMap<>();
//向Map中添加Key-Value
map.put("name", "Tom");
map.put("age", "18");
map.put("gender", "male");
//使用Lambda表達式判斷Map中是否包含Key為"name"的鍵值對
boolean containsKey = map.entrySet().stream()
.anyMatch(entry -> entry.getKey().equals("name"));
if(containsKey) {
System.out.println("Map中包含name這個Key");
} else {
System.out.println("Map中不包含name這個Key");
}
上述代碼中,我們使用Lambda表達式調用Stream對象的anyMatch方法,判斷Map中是否包含Key為”name”的鍵值對。如果包含,則輸出”Map中包含name這個Key”。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238496.html
微信掃一掃
支付寶掃一掃