共計(jì) 854 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
Java 中的 Map 接口有多種遍歷方式,主要有以下幾種方式:
- 使用 EntrySet 遍歷:通過 Map 的 entrySet() 方法獲取到 Map.Entry 對(duì)象的集合,然后通過迭代器或者 foreach 循環(huán)遍歷集合,再通過 Map.Entry 對(duì)象的 getKey() 和 getValue() 方法獲取鍵值對(duì)的鍵和值。
Map map = new HashMap();
// 添加鍵值對(duì)
Set<Map.Entry> entrySet = map.entrySet();
for (Map.Entry entry : entrySet) {K key = entry.getKey();
V value = entry.getValue();
// 處理鍵值對(duì)的邏輯
}
- 使用 KeySet 遍歷:通過 Map 的 keySet() 方法獲取到鍵的集合,然后通過迭代器或者 foreach 循環(huán)遍歷集合,再通過鍵獲取對(duì)應(yīng)的值。
Map map = new HashMap();
// 添加鍵值對(duì)
Set keySet = map.keySet();
for (K key : keySet) {V value = map.get(key);
// 處理鍵值對(duì)的邏輯
}
- 使用 Values 遍歷:通過 Map 的 values() 方法獲取到值的集合,然后通過迭代器或者 foreach 循環(huán)遍歷集合。
Map map = new HashMap();
// 添加鍵值對(duì)
Collection values = map.values();
for (V value : values) {// 處理值的邏輯}
- 使用 Lambda 表達(dá)式遍歷(JDK 8 及以上):通過 Map 的 forEach() 方法和 Lambda 表達(dá)式遍歷鍵值對(duì)。
Map map = new HashMap();
// 添加鍵值對(duì)
map.forEach((key, value) -> {// 處理鍵值對(duì)的邏輯});
需要注意的是,以上遍歷方式中,EntrySet 遍歷方式相對(duì)來說更加高效,因?yàn)樗恍枰闅v一次集合,而 KeySet 和 Values 遍歷方式需要遍歷兩次集合。另外,Lambda 表達(dá)式遍歷方式需要 JDK 8 及以上的版本才能使用。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完