Map类型的的增删查、判断、循环输出

特点:

双链集合,一次存储一对数据,分为键和值,键唯一,值可多个,键值对应

 

首先新建集合

 Map<String, String> map = new HashMap<>();

添加元素

注意该类型集合添加元素并不使用“add”而是使用“put”

        map.put("陈平安","宁姚");
        map.put("刘羡阳","赊月");
        map.put("顾璨","春宵");
        map.put("刘灞桥","苏嫁");        

删除指定的元素

通用“remove”,如果想要看到自己删除的内容,可以

String delet = map.remove("刘灞桥"); //只输入键,不输入值

System.out.println(delet);  //输出删除值
map.remove("顾璨");

当然如果想重新开始就

//清空
map.clear();
判断
集合内是否存在该类元素的话
//判断
        boolean keyreturn = map.containsKey("刘灞桥");  //根据键判断
        boolean keyreturn1 = map.containsKey("曹慈");
        boolean valuereturn = map.containsValue("苏嫁");  //根据值来判断
        boolean valuereturn1 = map.containsValue("裴钱");
        System.out.println(keyreturn);  //
        System.out.println(keyreturn1);  //
        System.out.println(valuereturn);
        System.out.println(valuereturn1);

如果想要知道集合是否存在元素,则使用布尔类型的数据来接收结果

//判断集合是否为空
        boolean empty = map.isEmpty(); //当没有清空集合元素时为假反之为真
        System.out.println(empty);

循环

方法一:

当只想循环两个数据中的其中一个时

Set<String> keys = map.keySet(); //只关于键
        for (String key : keys) {
            System.out.println(key);
        }

Collection<String> values = map.values();  //只关于值
        for (String s : values) {
            System.out.println(s);
        }

都是建立接口,赋值来循环,都使用”增强for“的形式,如果想两个一起循环的话

Set<String> keys = map.keySet();  //获取键
        for (String key : keys) {
            String value = map.get(key);  //获取键所对应的值
            System.out.println(key+"="+value);  //正常输出
        }

方法二:

 Set<Map.Entry<String, String>> entries = map.entrySet();
        //如果选择导包,在最开始的地方输入:import java.util.Map.Entry;则在上面的第一个书名号内可以不用"Map."
        for (Map.Entry<String, String> en : entries) {
            String key = en.getKey();  //获取键
            String val = en.getValue();  //获取值
            System.out.println(key+"+"+val);  //同样输出全部
        }

方法三:

 map.forEach(new BiConsumer<String, String>() {  //在括号内new一个"BiC"选开头第一个
            @Override
            public void accept(String key, String value) {  //参数根据需要看改不改
                System.out.println(key+" = "+value);
            }
        });

        System.out.println("\n"+"=============================="+"\n");
        //写法二:lamba写法
        map.forEach((key, value)-> System.out.println(key+" = "+value));

 

posted @ 2024-07-17 10:06  昏睡的云雪  阅读(63)  评论(0编辑  收藏  举报