• Map集合的方法和遍历


    1 Map接口概述

    l  Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。

    l  Collection中的集合称为单列集合,Map中的集合称为双列集合。

    l  需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

    Map中常用的集合为HashMap集合、LinkedHashMap集合。

    Map集合的遍历:

    1.keySet

    public class Demo01 {
        public static void main(String[] args) {
            Map<Integer,String> map=new HashMap<Integer,String>();
            //向map中添加键值对
            map.put(1, "熊大");
            map.put(2, "光头强");
            map.put(3, "熊二");
            map.put(2, "光头强");
            //根据key获取value
            System.out.println(map.get(3));
            //删除
            map.remove(1);
            //遍历方式1:keySet方法
            Set<Integer>set=map.keySet();
            for(Integer key:set){
                System.out.println(map.get(key));
            }
            Iterator<Integer>it=set.iterator();
            while(it.hasNext()){
                System.out.println(map.get(it.next()));
            }  
        }

    2.entrySet

    public class Demo02 {
        public static void main(String[] args) {
            Map<Integer,String> map=new HashMap<Integer,String>();
            //向map中添加键值对
            map.put(1, "熊大");
            map.put(2, "光头强");
            map.put(3, "熊二");
            map.put(2, "光头强");
            //遍历方式2:Entry
            Set<Map.Entry<Integer, String>>set=map.entrySet();
            for(Map.Entry<Integer, String>entry:set){
                System.out.println(entry.getKey()+"	"+entry.getValue());
            }
        }
    }

    练习:

    Iractor,for和entrySet,keySet遍历Map集合

    public class Demo04 {
        public static void main(String[] args) {
            Map<GirlFriend,String>map=new HashMap<GirlFriend,String>();
            //创建对象
                    GirlFriend g1=new GirlFriend("吴宣仪",24,166);
                    GirlFriend g2=new GirlFriend("杨超越",21,168);
                    GirlFriend g3=new GirlFriend("朴孝敏",28,167);
                    GirlFriend g4=new GirlFriend("罗玉凤",34,165);
                    //向map集合中添加key和value
                    map.put(g1, "张三");
                    map.put(g2, "李四");
                    map.put(g3, "王五");
                    map.put(g4, "李四");
                //遍历entrySet+for
                    Set<Map.Entry<GirlFriend,String>>set=map.entrySet();
                    for(Map.Entry<GirlFriend, String> entry:set){
                        System.out.println(entry.getKey()+"	"+entry.getValue());
                    }
                    System.out.println("===============================");
                //entry+iterator
                    Iterator<Map.Entry<GirlFriend, String>>it=set.iterator();
                    while(it.hasNext()){
                        Map.Entry<GirlFriend, String>ent=it.next();
                        System.out.println(ent.getKey()+"	"+ent.getValue());
                    }
                    
        }
    }
    public class Demo03 {
        public static void main(String[] args) {
            Map<GirlFriend,String>map=new HashMap<GirlFriend,String>();
            //创建对象
                    GirlFriend g1=new GirlFriend("吴宣仪",24,166);
                    GirlFriend g2=new GirlFriend("杨超越",21,168);
                    GirlFriend g3=new GirlFriend("朴孝敏",28,167);
                    GirlFriend g4=new GirlFriend("罗玉凤",34,165);
                    //向map集合中添加key和value
                    map.put(g1, "张三");
                    map.put(g2, "李四");
                    map.put(g3, "王五");
                    map.put(g4, "李四");
                //KeySet+for
                Set<GirlFriend>set=map.keySet();
                for(GirlFriend g:set){
                    System.out.println(g+"	"+map.get(g));
                }
                System.out.println("===================================================");
                //KeySet+iterator
                Iterator<GirlFriend>it=set.iterator();
                while(it.hasNext()){
                    GirlFriend gg=it.next();
                    System.out.println(gg+"	"+map.get(gg));
                }
        }
    }
  • 相关阅读:
    颠倒的价牌|2013年蓝桥杯A组题解析第四题-fishers
    振兴中华|2013年蓝桥杯A组题解析第三题-fishers
    排它平方数|2013年蓝桥杯A组题解析第二题-fishers
    L2-001:dijskstra + 多条最短路径 + 记录中间路径
    2018 蓝桥杯省赛 B 组模拟赛(五)
    差分数组|小a的轰炸游戏-牛客317E
    差分数组
    线性基
    transformer中自注意力和多头注意力的pytorch实现
    transformer中的位置嵌入pytorch代码
  • 原文地址:https://www.cnblogs.com/quanjunkang/p/10646203.html
Copyright © 2020-2023  润新知