遍歷 HashMap 的 5 種最佳方式,我不信你全知道!
在本文中,我們將通過示例討論在 Java 上遍歷 HashMap 的五種最佳方法。
使用 Iterator 遍歷 HashMap EntrySet 使用 Iterator 遍歷 HashMap KeySet 使用 For-each 循環(huán)迭代 HashMap 使用 Lambda 表達(dá)式遍歷 HashMap 使用 Stream API 遍歷 HashMap
1. 使用 Iterator 遍歷 HashMap EntrySet
package?com.java.tutorials.iterations;
import?java.util.HashMap;
import?java.util.Iterator;
import?java.util.Map;
import?java.util.Map.Entry;
/**
?*?在?Java?中遍歷?HashMap?的5種最佳方法
?*?@author?Ramesh?Fadatare
?*
?*/
public?class?IterateHashMapExample?{
????public?static?void?main(String[]?args)?{
????????//?1.?使用?Iterator?遍歷?HashMap?EntrySet
????????Map??coursesMap?=?new?HashMap??();
????????coursesMap.put(1,?"C");
????????coursesMap.put(2,?"C++");
????????coursesMap.put(3,?"Java");
????????coursesMap.put(4,?"Spring?Framework");
????????coursesMap.put(5,?"Hibernate?ORM?framework");
????????Iterator?>?iterator?=?coursesMap.entrySet().iterator();
????????while?(iterator.hasNext())?{
????????????Entry??entry?=?iterator.next();
????????????System.out.println(entry.getKey());
????????????System.out.println(entry.getValue());
????????}
????}
}
Output:
1
C
2
C++
3
Java
4
Spring?Framework
5
Hibernate?ORM?framework
2. 使用 Iterator 遍歷 HashMap KeySet
package?com.java.tutorials.iterations;
import?java.util.HashMap;
import?java.util.Iterator;
import?java.util.Map;
/**
?*?在?Java?中遍歷?HashMap?的5種最佳方法
?*?@author?Ramesh?Fadatare
?*
?*/
public?class?IterateHashMapExample?{
????public?static?void?main(String[]?args)?{
????????Map??coursesMap?=?new?HashMap??();
????????coursesMap.put(1,?"C");
????????coursesMap.put(2,?"C++");
????????coursesMap.put(3,?"Java");
????????coursesMap.put(4,?"Spring?Framework");
????????coursesMap.put(5,?"Hibernate?ORM?framework");
????????//?2.?使用?Iterator?遍歷?HashMap?KeySet
????????Iterator??iterator?=?coursesMap.keySet().iterator();
????????while?(iterator.hasNext())?{
????????????Integer?key?=?iterator.next();
????????????System.out.println(key);
????????????System.out.println(coursesMap.get(key));
????????}
????}
}
Output:
1
C
2
C++
3
Java
4
Spring?Framework
5
Hibernate?ORM?framework
3. 使用 For-each 循環(huán)遍歷 HashMap
package?com.java.tutorials.iterations;
import?java.util.HashMap;
import?java.util.Map;
/**
?*?在?Java?中遍歷?HashMap?的5種最佳方法
?*?@author?Ramesh?Fadatare
?*
?*/
public?class?IterateHashMapExample?{
????public?static?void?main(String[]?args)?{
????????Map??coursesMap?=?new?HashMap??();
????????coursesMap.put(1,?"C");
????????coursesMap.put(2,?"C++");
????????coursesMap.put(3,?"Java");
????????coursesMap.put(4,?"Spring?Framework");
????????coursesMap.put(5,?"Hibernate?ORM?framework");
????????//?3.?使用?For-each?循環(huán)遍歷?HashMap
????????for?(Map.Entry??entry:?coursesMap.entrySet())?{
????????????System.out.println(entry.getKey());
????????????System.out.println(entry.getValue());
????????}
????}
}
Output:
1
C
2
C++
3
Java
4
Spring?Framework
5
Hibernate?ORM?framework
4. 使用 Lambda 表達(dá)式遍歷 HashMap
package?com.java.tutorials.iterations;
import?java.util.HashMap;
import?java.util.Map;
/**
?*?在?Java?中遍歷?HashMap?的5種最佳方法
?*?@author?Ramesh?Fadatare
?*
?*/
public?class?IterateHashMapExample?{
????public?static?void?main(String[]?args)?{
????????Map??coursesMap?=?new?HashMap??();
????????coursesMap.put(1,?"C");
????????coursesMap.put(2,?"C++");
????????coursesMap.put(3,?"Java");
????????coursesMap.put(4,?"Spring?Framework");
????????coursesMap.put(5,?"Hibernate?ORM?framework");
????????//?4.?使用?Lambda?表達(dá)式遍歷?HashMap
????????coursesMap.forEach((key,?value)?->?{
????????????System.out.println(key);
????????????System.out.println(value);
????????});
????}
}
Output:
1
C
2
C++
3
Java
4
Spring?Framework
5
Hibernate?ORM?framework
5. 使用 Stream API 遍歷 HashMap
package?com.java.tutorials.iterations;
import?java.util.HashMap;
import?java.util.Map;
/**
?*?在?Java?中遍歷?HashMap?的5種最佳方法
?*?@author?Ramesh?Fadatare
?*
?*/
public?class?IterateHashMapExample?{
????public?static?void?main(String[]?args)?{
????????Map??coursesMap?=?new?HashMap??();
????????coursesMap.put(1,?"C");
????????coursesMap.put(2,?"C++");
????????coursesMap.put(3,?"Java");
????????coursesMap.put(4,?"Spring?Framework");
????????coursesMap.put(5,?"Hibernate?ORM?framework");
????????//?5.?使用?Stream?API?遍歷?HashMap
????????coursesMap.entrySet().stream().forEach((entry)?-?>?{
????????????System.out.println(entry.getKey());
????????????System.out.println(entry.getValue());
????????});
????}
}
Output:
1
C
2
C++
3
Java
4
Spring?Framework
5
Hibernate?ORM?framework
評論
圖片
表情
