一、使用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-tw/n/238496.html