在此示例中,我們將學(xué)習(xí)迭代Java HashMap的鍵,值 和 鍵/值映射。
要理解此示例,您應(yīng)該了解以下Java編程主題:
在Java HashMap中,我們可以遍歷其keys,values和key / value映射。
import java.util.HashMap;
import java.util.Map.Entry;
class Main {
public static void main(String[] args) {
//創(chuàng)建一個(gè)HashMap
HashMap<String, String> languages = new HashMap<>();
languages.put("Java", "Enterprise");
languages.put("Python", "ML/AI");
languages.put("JavaScript", "Frontend");
System.out.println("HashMap: " + languages);
//遍歷鍵/值映射
System.out.print("Entries: ");
for(Entry<String, String> entry: languages.entrySet()) {
System.out.print(entry);
System.out.print(", ");
}
//遍歷鍵
System.out.print("\nKeys: ");
for(String key: languages.keySet()) {
System.out.print(key);
System.out.print(", ");
}
// 遍歷值
System.out.print("\nValues: ");
for(String value: languages.values()) {
System.out.print(value);
System.out.print(", ");
}
}
}輸出結(jié)果
HashMap: {Java=Enterprise, JavaScript=Frontend, Python=ML/AI}
Entries: Java=Enterprise, JavaScript=Frontend, Python=ML/AI,
Keys: Java, JavaScript, Python,
Values: Enterprise, Frontend, ML/AI,在上面的示例中,我們創(chuàng)建了一個(gè)名為 languages 的哈希映射。在這里,我們使用forEach循環(huán)來遍歷哈希映射的元素。
注意,我們獨(dú)立地遍歷key,values和key / value映射。
language.entrySet() - 返回所有項(xiàng)的 set 集合視圖
language.keySet() -返回所有鍵的 set 集合視圖
language.values() -返回所有值的 set 集合視圖
注意:我們已經(jīng)使用了Map.Entry該類。嵌套類返回map視圖。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
class Main {
public static void main(String[] args) {
//創(chuàng)建一個(gè)HashMap
HashMap<String, String> languages = new HashMap<>();
languages.put("Java", "Enterprise");
languages.put("Python", "ML/AI");
languages.put("JavaScript", "Frontend");
System.out.println("HashMap: " + languages);
//創(chuàng)建一個(gè) Iterator 對(duì)象
Iterator<Entry<String, String>> iterate1 = languages.entrySet().iterator();
//遍歷鍵/值映射
System.out.print("Entries: ");
while(iterate1.hasNext()) {
System.out.print(iterate1.next());
System.out.print(", ");
}
//遍歷鍵
Iterator<String> iterate2 = languages.keySet().iterator();
System.out.print("\nKeys: ");
while(iterate2.hasNext()) {
System.out.print(iterate2.next());
System.out.print(", ");
}
//遍歷值
Iterator<String> iterate3 = languages.values().iterator();
System.out.print("\nValues: ");
while(iterate3.hasNext()) {
System.out.print(iterate3.next());
System.out.print(", ");
}
}
}輸出結(jié)果
HashMap: {Java=Enterprise, JavaScript=Frontend, Python=ML/AI}
Entries: Java=Enterprise, JavaScript=Frontend, Python=ML/AI,
Keys: Java, JavaScript, Python,
Values: Enterprise, Frontend, ML/AI,在上面的示例中,我們遍歷哈希映射的鍵,值和鍵/值映射。我們使用了iterator()方法來迭代哈希映射。這里,
hasNext() - 如果hashmap中有下一個(gè)元素,則返回true。
next() - 返回哈希映射的下一個(gè)元素。
注意:我們還可以使用HashMap forEach()方法來迭代哈希映射。