Entry键值对对象和Map集合遍历键值对方式

我们已经知道,Map中存放的是两种对象,一种称为key(键),一种称为value(值),它们在在IMap 中是一一对应关系,

这一对对象又称做Map 中的一个Entry(项)。Entry将键值对的对应关系封装成了对象。即键值对对象,这样我们在遍历wap集合时,就可以从每一个键值对(Entry )对象中获取对应的键与对应的值


既然Entry表示了一对键和值,那么也同样提供了获取对应键和对应值得方法∶
~public K getKey():获取Entry对象中的键
~public v getvalue()∶获取Entry对象中的值

  ~在Map集合中也提供了获取所有Entry对象的方法∶
~public Set<Map.Entry<K,v>> entrySet() :获取到Map集合中所有的键值对对象的集合(Set集合)

 

Map.Entry<KV>:在Map接口中有一个内部接口Entry Map.Entry<kv>:在Map接口中有一个内部接口条目
作用:当Map集合一创建,那么就会在Map集合中创建一个Entry对象,用来记录键与值(键值对对象,键与值的映射关系)-->结婚证 作用:当地图集合一创建,那么就会在地图集合中创建一个条目对象,用来记录键与值(键值对对象,键与值的映射关系)-->结婚证

 

 

 

 

 

键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。

操作步骤与图解:

  1. 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。方法提示:entrySet()
  2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
  3. 通过键值对(Entry)对象,获取Entry对象中的键与值。  方法提示:getkey() getValue()
复制代码
    public class MapDemo02 {
        public static void main(String[] args) {
            // 创建Map集合对象 
            HashMap<String, String> map = new HashMap<String,String>();
            // 添加元素到集合 
            map.put("胡歌", "霍建华");
            map.put("郭德纲", "于谦");
            map.put("薛之谦", "大张伟");

            // 获取 所有的 entry对象  entrySet
            Set<Entry<String,String>> entrySet = map.entrySet();

            // 遍历得到每一个entry对象
            for (Entry<String, String> entry : entrySet) {
                // 解析 
                String key = entry.getKey();
                String value = entry.getValue();
                System.out.println(key+"的CP是:"+value);
            }
        }
    }package 集合和泛型.Map.demo01;

import java.util.*;

    /*
        public Set<Map.Entry<K,V>> entrySet():
            获取到Map集合中所有的键值对对象的集合(Set集合)。
     */
    public class Demo03entrySet {
        public static void main(String[] args) {
            Map<String,String> map = new HashMap<>();
            map.put("黄晓明","杨颖");
            map.put("冷锋","龙小云");
            map.put("杨过","小龙女");
            System.out.println(map);
            Set<Map.Entry<String,String>> entryset = map.entrySet();
            System.out.println(entryset);

            Iterator<Map.Entry<String,String>> it = entryset.iterator();
            while(it.hasNext()){
                Map.Entry<String,String> entry = it.next();
                String key = entry.getKey();
                String value = entry.getValue();
                System.out.println(key+"--"+value);
            }
            System.out.println("-------------------------------");
            for(Map.Entry<String,String> entry:entryset){
                String key = entry.getKey();
                String value = entry.getValue();
                System.out.println(key+"--"+value);
            }

        }
    }
复制代码

 

posted @   夫君  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示