HashMap常用的4种遍历方式

常用的4中方式:

/**
     * entrySet Foreach
     * @param map
     */
    public static void entrySetForeach(Map<String,Object> map){
          
   
        Set<Map.Entry<String, Object>> entries = map.entrySet();
        System.out.println("entrySetForeach:");
        for (Map.Entry<String, Object> entry : entries){
          
   
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
    }

    /**
     * entrySet Iterator
     * @param map
     */
    public static void entrySetIterator(Map<String,Object> map){
          
   
        Iterator<Map.Entry<String, Object>> entries = map.entrySet().iterator();
        System.out.println("entrySetIterator:");
        while (entries.hasNext()){
          
   
            Map.Entry<String, Object> next = entries.next();
            System.out.println(next.getKey() + ":" + next.getValue());
        }
    }

    /**
     * lambda表达式
     * @param map
     */
    public static void lambda(Map<String,Object> map){
          
   
        System.out.println("lambda:");
        map.forEach((key,value) ->{
          
   
            System.out.println(key + ":" + value);
        });
    }

    /**
     * streams 流
     * @param map
     */
    public static void streams(Map<String,Object> map){
          
   
        System.out.println("streams:");
        map.entrySet().stream().forEach(entry -> {
          
   
            System.out.println(entry.getKey() + ":" + entry.getValue());
        });
    }

    public static void main(String[] args) {
          
   
        Map<String, Object> map = new HashMap<>();
        map.put("name","张三");
        map.put("age",23);

        // entrySet Foreach的方式
        entrySetForeach(map);
        // entrySet 迭代器Iterator的方式
        entrySetIterator(map);
        // lambda表达式的方式
        lambda(map);
        // streams流的方式
        streams(map);
    }

结果:

经验分享 程序员 微信小程序 职场和发展