java Map的遍歷方式有哪些

小億
84
2023-09-22 23:40:56
欄目: 編程語言

Java中的Map接口有多種遍歷方式,主要有以下幾種方式:

  1. 使用EntrySet遍歷:通過Map的entrySet()方法獲取到Map.Entry對(duì)象的集合,然后通過迭代器或者foreach循環(huán)遍歷集合,再通過Map.Entry對(duì)象的getKey()和getValue()方法獲取鍵值對(duì)的鍵和值。
Map<K, V> map = new HashMap<>();
// 添加鍵值對(duì)
Set<Map.Entry<K, V>> entrySet = map.entrySet();
for (Map.Entry<K, V> entry : entrySet) {
K key = entry.getKey();
V value = entry.getValue();
// 處理鍵值對(duì)的邏輯
}
  1. 使用KeySet遍歷:通過Map的keySet()方法獲取到鍵的集合,然后通過迭代器或者foreach循環(huán)遍歷集合,再通過鍵獲取對(duì)應(yīng)的值。
Map<K, V> map = new HashMap<>();
// 添加鍵值對(duì)
Set<K> keySet = map.keySet();
for (K key : keySet) {
V value = map.get(key);
// 處理鍵值對(duì)的邏輯
}
  1. 使用Values遍歷:通過Map的values()方法獲取到值的集合,然后通過迭代器或者foreach循環(huán)遍歷集合。
Map<K, V> map = new HashMap<>();
// 添加鍵值對(duì)
Collection<V> values = map.values();
for (V value : values) {
// 處理值的邏輯
}
  1. 使用Lambda表達(dá)式遍歷(JDK 8及以上):通過Map的forEach()方法和Lambda表達(dá)式遍歷鍵值對(duì)。
Map<K, V> map = new HashMap<>();
// 添加鍵值對(duì)
map.forEach((key, value) -> {
// 處理鍵值對(duì)的邏輯
});

需要注意的是,以上遍歷方式中,EntrySet遍歷方式相對(duì)來說更加高效,因?yàn)樗恍枰闅v一次集合,而KeySet和Values遍歷方式需要遍歷兩次集合。另外,Lambda表達(dá)式遍歷方式需要JDK 8及以上的版本才能使用。

0