遍历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() 过滤或者删除相关数据
123 1
|
7月前
|
Java API
面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
47 1
|
Java 数据库连接 API
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)上
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
304 0
HashMap 的 7 种遍历方式与性能分析!(强烈推荐)上
|
存储 算法 安全
HashMap的遍历方式及底层原理
HashMap的遍历方式及底层原理
|
Java API
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(2)
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!
199 0
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(2)
|
Java 编译器
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(1)
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!
152 0
公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!(1)
|
JavaScript 小程序 Java
HashMap 为什么不能一边遍历一遍删除
HashMap 为什么不能一边遍历一遍删除
|
Java
Java:遍历HashMap的常用方法
Java:遍历HashMap的常用方法
142 0
|
Java
【Java系列】HashMap的6种遍历方法
通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于上一种,这一种也是最常用的遍历方法。
226 0
【Java系列】HashMap的6种遍历方法