• 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));
                }
        }
    }
    复制代码
  • 相关阅读:
    推断两条单链表是否相交
    字典树的实现
    ActivityGroup window bad token问题深入分析
    &quot;《 Serial Drivers 》by Alessandro Rubini&quot; 学习笔记
    rac_安装软件时报版本号过高问题
    Mac OS 环境下 安装 Asp.Net及使用Yeoman 创建Asp.Net 项目
    iOS:一个Cell中设置另外一个Cell中的button
    Java虚拟机定义
    一道超级坑爹的水题(ACdream oj 无耻的出题人)
    Cocos2d-x 3.x版2048游戏开发
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10687558.html
Copyright © 2020-2023  润新知