集合是在Java中常用的一种键值存储结构,存进去直接调用put方法,输入响应参数即可,但是有时候根据不同情况使用不同方法遍历有时候对于使用较少的来说还是比较困难的,今天就介绍HashMap的三种遍历方式。

一、使用for循环,遍历Key,通过Key去获取Value

for (String key:hashMap.keySet()) {
    System.out.println("key: " + key + " value: " + hashMap.get(key));
}

二、使用迭代器Iterator,把集合中的数据放到迭代器中,然后利用while循环读出数据

Iterator iterator = hashMap.entrySet().iterator();
while(iterator.hasNext()) {
    Map.Entry<String, String> entry=(Map.Entry<String, String>) iterator.next();
    System.out.println("Key: "+entry.getKey()+" Value: "+entry.getValue());
}

三、使用for循环遍历集合中的数据,使用方便,但是只适合小数据量

for(Map.Entry<String, String> entry: hashMap.entrySet()) {
    System.out.println("Key: "+ entry.getKey()+ " Value: "+entry.getValue());
}

四、三种方法的测试,测试结果如下,测试代码见五

java hashmap for java hashmap for循环_intellij-idea

 五、测试代码

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("1","value1");
        hashMap.put("2","value2");
        hashMap.put("3","value3");
        hashMap.put("4","value4");
        hashMap.put("5","value5");
        hashMap.put("6","value6");

        System.out.println("*********第一种遍历方式*********");
        for (String key:hashMap.keySet()) {
            System.out.println("key: " + key + " value: " + hashMap.get(key));
        }

        System.out.println("*********第二种遍历方式*********");
        Iterator iterator = hashMap.entrySet().iterator();
        while(iterator.hasNext()) {
            Map.Entry<String, String> entry=(Map.Entry<String, String>) iterator.next();
            System.out.println("Key: "+entry.getKey()+" Value: "+entry.getValue());
        }

        System.out.println("*********第三种遍历方式*********");
        for(Map.Entry<String, String> entry: hashMap.entrySet()) {
            System.out.println("Key: "+ entry.getKey()+ " Value: "+entry.getValue());
        }
    }
}