遍历HashMap的四种方式

简介: 遍历HashMap的四种方式

遍历HashMap的四种方式

package com.oracle.containers.map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
 * @author zhouyanxiang
 * @create 2020-08-2020/8/17-10:13
 */
public class HashMapReview {
    public static void main(String[] args) {
        HashMap <String,String> map = new HashMap<>();
        map.put("Tom","23");
        map.put("Jerry","24");
        map.put("Mike","29");
        map.put("Mary","22");
        map.put("Bruce","20");
        map.put("Jerry","24");
        // 如果有相同的并不会算进map.size里面去
        System.out.println(map.size());
        // 遍历HashMap的四种方式
        System.out.println("====== No1 ======");
        // 第一种 通过Map.keySet遍历key和value
        System.out.println("通过Map.keySet遍历key和value");
        for (Object key:map.keySet()){
            System.out.println("key : " + key + " value: " + map.get(key));
        }
        System.out.println("====== No2 ======");
        // 第二种
        System.out.println("通过Map.entrySet使用iterator遍历key和value");
        Iterator it = map.entrySet().iterator();
        while (it.hasNext()){
            Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next();
            System.out.println("key : " + entry.getKey() + " value: " + entry.getValue());
        }
        System.out.println("====== No3 ======");
        // 第三种 推荐,尤其是容量大时  通过Map.entrySet遍历key和value
        System.out.println("通过Map.entrySet遍历key和value");
        for (Map.Entry<String, String> entry : map.entrySet()){
            System.out.println("key : " + entry.getKey() + " value: " + entry.getValue());
        }
        System.out.println("====== No4 ======");
        System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
        for(String v:map.values()) {
            System.out.println("value: " + v);
        }
    }
}

输出如下:


相关文章
|
安全 Java API
java中HashMap的七种遍历方式
java.util.ConcurrentModificationException , 这种办法是非安全的 , 我们可以使用Iterator.remove() ,或者是Lambda 中的 removeIf() , 或者是Stream 中的 filter() 过滤或者删除相关数据
221 1
|
Java API
面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
108 1
|
Java 数据库连接 API
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)上
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
412 0
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)上
|
Java API
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(2)
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!
261 0
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(2)
|
Java 编译器
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(1)
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!
218 0
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(1)
|
存储 算法 安全
HashMap的遍历方式及底层原理
HashMap的遍历方式及底层原理
|
JavaScript 小程序 Java
HashMap 为什么不能一边遍历一遍删除
HashMap 为什么不能一边遍历一遍删除
|
Java
Java:遍历HashMap的常用方法
Java:遍历HashMap的常用方法
201 0
|
安全 测试技术 API
HashMap 的 7 种遍历方式与性能分析!「修正篇」(下)
HashMap 的 7 种遍历方式与性能分析!「修正篇」
279 1
HashMap 的 7 种遍历方式与性能分析!「修正篇」(下)