遍歷 HashMap 的 5 種最佳方式,我不信你全知道!

原文地址: https://www.javaguides.net/20...
做者:Ramesh Fadatare
翻譯:高行行
https://www.toutiao.com/a6803...

在本文中,咱們將經過示例討論在 Java 上遍歷 HashMap 的五種最佳方法。html

  1. 使用 Iterator 遍歷 HashMap EntrySet
  2. 使用 Iterator 遍歷 HashMap KeySet
  3. 使用 For-each 循環迭代 HashMap
  4. 使用 Lambda 表達式遍歷 HashMap
  5. 使用 Stream API 遍歷 HashMap
經過  https://www.javaguides.net/20... [6]瞭解有關 lambda 表達式的信息

一、使用 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 < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        coursesMap.put(1, "C");  
        coursesMap.put(2, "C++");  
        coursesMap.put(3, "Java");  
        coursesMap.put(4, "Spring Framework");  
        coursesMap.put(5, "Hibernate ORM framework");  
  
        Iterator < Entry < Integer, String >> iterator = coursesMap.entrySet().iterator();  
        while (iterator.hasNext()) {  
            Entry < Integer, String > entry = iterator.next();  
            System.out.println(entry.getKey());  
            System.out.println(entry.getValue());  
        }  
    }  
}

Output:java

1  
C  
2  
C++  
3  
Java  
4  
Spring Framework  
5  
Hibernate ORM framework

二、使用 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 < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        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 < Integer > 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

三、使用 For-each 循環遍歷 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 < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        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 循環遍歷 HashMap  
        for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) {  
            System.out.println(entry.getKey());  
            System.out.println(entry.getValue());  
        }  
    }  
}

Output:express

1  
C  
2  
C++  
3  
Java  
4  
Spring Framework  
5  
Hibernate ORM framework

四、使用 Lambda 表達式遍歷 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 < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        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 表達式遍歷 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

五、使用 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 < Integer, String > coursesMap = new HashMap < Integer, String > ();  
        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

關注微信公衆號:Java技術棧,在後臺回覆:java,能夠獲取我整理的 N 篇最新 Java 教程,都是乾貨。多線程

推薦去個人博客閱讀更多:架構

1.Java JVM、集合、多線程、新特性系列教程ide

2.Spring MVC、Spring Boot、Spring Cloud 系列教程工具

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、後端、架構、阿里巴巴等大廠最新面試題

生活很美好,明天見~

相關文章
相關標籤/搜索