victory的博客

长安一片月,万户捣衣声

0%

Java | HashMap的七种遍历方式

HashMap的七种遍历方式

参考资料

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

public class HashMapTraversalMethodsTest {
    public static void main(String[] args) {
        
        Map<Integer, String> map = new HashMap();
        map.put(1, "Java");
        map.put(2, "Python");
        map.put(3, "C");
        map.put(4, "C++");
        map.put(5, "JavaScript");
        
        //迭代器EntrySet(推荐使用)
//        Iterator<Entry<Integer, String>> iterator = map.entrySet().iterator();
//        while(iterator.hasNext()){
//            Entry<Integer, String> entry = iterator.next();
//            System.out.println(entry.getKey());
//            System.out.println(entry.getValue());
//        }
        
        //迭代器KeySet
//        Iterator<Integer> iterator = map.keySet().iterator();
//        while(iterator.hasNext()){
//            Integer key = iterator.next();
//            System.out.println(key);
//            System.out.println(map.get(key));
//        }
        
        //ForEach EntrySet
//        for(Entry<Integer, String> entry:map.entrySet()){
//            System.out.println(entry.getKey());
//            System.out.println(entry.getValue());
//        }
        
        //ForEach KeySet
//        for(Integer key:map.keySet()){
//            System.out.println(key);
//            System.out.println(map.get(key));
//        }
        
        //Lambda
//        map.forEach((key, value) -> {
//            System.out.println(key);
//            System.out.println(value);
//        });
        
        //Streams API单线程
//        map.entrySet().stream().forEach((entry) -> {
//            System.out.println(entry.getKey());
//            System.out.println(entry.getValue());
//        });
        
        //Streams API多线程
        map.entrySet().parallelStream().forEach((entry) ->{
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });
    }
}