搜索 | 会员  
在Java中遍历HashMap的5种最佳方式
来源: CIO之家的朋友们   作者:CIO之家的朋友  日期:2020/3/30  类别:编程语言  主题:JAVA  编辑:情癫大圣
在本文中,我们将通过示例讨论在Java上遍历HashMap[3]的五种最佳方法。使用Iterator遍历HashMapEntrySet使用Iterator遍历HashMapKeySet

在本文中,我们将通过示例讨论在 Java 上遍历 HashMap[3] 的五种最佳方法。


使用 Iterator 遍历 HashMap EntrySet


使用 Iterator 遍历 HashMap KeySet


使用 For-each 循环迭代 HashMap


使用 Lambda 表达式[4]遍历 HashMap


使用 Stream API[5] 遍历 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 < 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


德仔网尊重行业规范,每篇文章都注明有明确的作者和来源;德仔网的原创文章,请转载时务必注明文章作者和来源:德仔网;
头条那些事
大家在关注
广告那些事
我们的推荐
也许感兴趣的
干货