使用 entrySet 遍历 Map 类集合 KV ,而不是 keySet 方式进行遍历的好处

使用 entrySet 遍历 Map 类集合 KV ,而不是 keySet 方式进行遍历。
说明: keySet 其实是遍历了 2 次,一次是转为 Iterator 对象,另一次是从 hashMap 中取出
key 所对应的 value 。而 entrySet 只是遍历了一次就把 key 和 value 都放到了 entry 中,效
率更高。如果是 JDK 8,使用 Map . foreach 方法。
正例: values() 返回的是 V 值集合,是一个 list 集合对象 ;keySet() 返回的是 K 值集合,是
一个 Set 集合对象 ;entrySet() 返回的是 K - V 值组合集合。

时间: 2024-12-18 07:37:59

使用 entrySet 遍历 Map 类集合 KV ,而不是 keySet 方式进行遍历的好处的相关文章

java 遍历map 方法 集合 五种的方法

以下是转载别人的日志,以方便自己以后使用,仅供自己学习之用. package com.jackey.topic; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; //循环遍历map的方法 public class CircleMap {  public

Map类集合

集合类                                        Key                            Value                              Super                      说明 HashTable                                 不允许为null               不允许为null                   Dictionary        

遍历Map的几种方式

java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 keySet values 如果只需要map的key或者value,用map的keySet或values方法无疑是最方便的 1 /** 2 * 遍历Map 3 * 只遍历key的set集合 4 */ 5 public void keySets(Map<Integer, Integer> map){ 6 for (Integer

不同方式遍历Map集合

Map是一种以键值对的形式存在的集合,其中每个键映射到一个值,几乎所有通用 Map 都使用哈希映射.位于java.util包中.其子类有HashMap,TreeMap.HashMap缺省的情况下是线程非安全的;当多线程访问时可能需要提供同步机制,key和value的值允许为null,键值允许重复,没有顺序. 普通JAVA类遍历Map集合 Map map=new HashMap(); map.put("a", "1"); map.put("b",

(1)集合 ---遍历map集合

Map接口     实现Map接口的类用来存储键(key)-值(value) 对.Map 接口的实现类有HashMap和TreeMap等.Map类中存储的键-值对通过键来标识,所以键值不能重复. HashMap: 线程不安全,效率高. 允许key或value为nullHashTable:线程安全,效率低. 不允许key或value为nullProperties : HashTable的子类,key和value都是string常用的方法: Object put(Object key, Object

Java遍历Map集合方法

package testMap; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /**  * 循环遍历Map集合  *   * @author Administrator  *   */ pub

遍历Map集合的几种方式

1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 import java.util.Map.Entry; 5 6 /** 7 * <p>遍历Map集合</p> 8 * @author:[email protected] 9 * @date:2017-5-30 10 */ 11 public class Test { 12 public static void main

25.使用Iterator和增强型for循环遍历Map集合

/** * 宠物类,狗狗和企鹅的父类. */ public abstract class Pet { protected String name = "无名氏";// 昵称 protected int health = 100;// 健康值 protected int love = 0;// 亲密度 public abstract void eat(); //抽象方法eat(),负责宠物吃饭功能. /** * 无参构造方法. */ public Pet() { } /** * 有参构造

map集合中value()、keySet()、entrySet()区别

在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键,再根据get方法.获取每一个键对应的值. keySet():迭代后只能通过get()取key entrySet(): Set<Map.Entry<K,V>> entrySet() //返回此映射中包含的映射关系的 Set 视图. Map.Entry表示映射关系.entrySet():迭