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

2022-10-08,,

原文地址:
作者:ramesh fadatare
翻译:高行行

在本文中,我们将通过示例讨论在 java 上遍历 hashmap 的五种最佳方法。

  1. 使用 iterator 遍历 hashmap entryset

  2. 使用 iterator 遍历 hashmap keyset

  3. 使用 for-each 循环迭代 hashmap

  4. 使用 lambda 表达式遍历 hashmap

  5. 使用 stream api 遍历 hashmap

通过  [6]了解有关 lambda 表达式的信息

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 < 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:

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 < 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  

3、使用 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:

1  
c  
2  
c++  
3  
java  
4  
spring framework  
5  
hibernate orm framework

4、使用 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

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 < 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、集合、多线程、新特性系列教程

2.spring mvc、spring boot、spring cloud 系列教程

3.maven、git、eclipse、intellij idea 系列工具教程

4.java、后端、架构、阿里巴巴等大厂最新面试题

生活很美好,明天见~

《遍历 HashMap 的 5 种最佳方式,我不信你全知道!.doc》

下载本文的Word格式文档,以方便收藏与打印。