在Java編程中,HashMap是一種常用的數據結構,它可以存儲鍵值對,其中鍵和值都是對象。在實際開發中,經常需要對HashMap進行遍歷,以獲取存儲在其中的數據。本文將介紹HashMap的三種遍歷方式。
一、使用keySet()方法遍歷HashMap
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("orange", 2);
map.put("banana", 3);
for (String key : map.keySet()) {
int value = map.get(key);
System.out.println(key + " : " + value);
}
第一步,在創建HashMap對象時,添加了三個鍵值對。第二步,利用map.keySet()方法獲取HashMap中所有的key。第三步,使用for循環依次獲取每個key對應的value值。
該方法的優點是比較簡單直觀,同時效率也較高。但是缺點是,如果只需要獲取HashMap中的value值,每次都要通過get方法查找,效率會比較低。
二、使用entrySet()方法遍歷HashMap
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("orange", 2);
map.put("banana", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
int value = entry.getValue();
System.out.println(key + " : " + value);
}
第一步,在創建HashMap對象時,添加了三個鍵值對。第二步,利用map.entrySet()方法獲取HashMap中所有的key-value對。第三步,利用for循環依次獲取每個鍵值對的key和value值。
該方法的優點是,可以直接獲取HashMap中的key和value值,避免了使用keySet()方法之後再通過get方法查找value值的效率問題。缺點是代碼相對於keySet()方法略微繁瑣。
三、使用Lambda表達式遍歷HashMap
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("orange", 2);
map.put("banana", 3);
map.forEach((k, v) -> System.out.println(k + " : " + v));
利用Java 8中引入的Lambda表達式,可以極大地簡化代碼量。通過forEach方法遍歷HashMap時,Lambda表達式中的k和v分別表示每個鍵值對的key和value。
該方法的優點是代碼簡潔,易於理解。缺點是需要Java 8及以上的版本支持。
原創文章,作者:SSUJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135589.html