首页 > 其他分享 >集合之Map

集合之Map

时间:2022-12-12 10:57:21浏览次数:38  
标签:Map map put System println 集合 out

package com.Lucky.Map;

import java.util.HashMap;
import java.util.Map;

/*
      map接口: 无法new ,只能new他的实现类
 */
public class MapDemo {
    public static void main(String[] args) {
        // put(k key,v,value)                       :添加元素
        // remove(Object key)                       :移除元素
        //void clear()                              :清除集合元素
        //boolean containsKey(Object key)           :判断该键是否包含在该集合里面
        //boolean containsValue(Object Value)       :判断该值是否包含在该集合里面
        //boolean isEmpty()                         :判断集合是否为空
        //int size()                                :判断集合大小



          //创建Map集合
        Map<String,String> map=new HashMap<>();

        System.out.println("-------- put(K Key,V Value):  添加/覆盖----------------");
          /*
            put:  添加/覆盖
                   1.如果添加数据时,键不存在,就直接将数据添加到键值对对象里面,返回null
                   2.如果添加数据时,键已经存在,就将原有的键值对对象覆盖,返回被覆盖的值。
           */
        System.out.println(map.put("文艺人士","人生无常"));
        map.put("唯易人生","YYDS");
        map.put("不凭明天","只凭朝夕");
        map.put("测试代码","BUG");
        System.out.println(map.put("文艺人士","XXS")); //对原有的键值对对象进行覆盖操作

        System.out.println(map);


        System.out.println("-------- remove(K Key):移除元素----------------");
        System.out.println(map.remove("文艺人士"));   //返回移除的键值对的值
        System.out.println(map.remove("不凭明天","BUGCS"));  //键值对没有找到就返回false


        System.out.println("-------- containsKey(K Key):判断键值对是否包含在集合中----------------");
        System.out.println(map.containsKey("不凭明天"));
        System.out.println(map.containsValue("xxs"));


        System.out.println("-------- isEmpty():判断集合是否为空----------------");
        System.out.println(map.isEmpty());

        System.out.println(map.size());
        map.clear();
        System.out.println(map);

    }



}

 遍历Map集合的方法:

①keySet

package com.Lucky.Map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
      遍历获取Map集合的键值对
      1.通过键找值的方法:关键点:keySet();
 */
public class MapDemo1 {
    public static void main(String[] args) {
        Map<String,String> map=new HashMap<>();


        map.put("唯易人生","YYDS");
        map.put("不凭明天","只凭朝夕");
        map.put("测试代码","BUG");

        //生成Set集合获取Map集合的所有键
        final Set<String> strings = map.keySet();


        //1.利用增强for循环得到每一个键
        System.out.println("--------利用增强for循环得到每一个键----------");
        for (String str : strings) {  //str是键值对的键
            //再利用键找到所有的值
            String res=map.get(str);
            System.out.println(str+":"+res);
        }



         //2.利用增强迭代器得到每一个键
        System.out.println("--------利用增强迭代器得到每一个键-----------");
        Iterator<String> ite = strings.iterator();
        while (ite.hasNext()){
            //再利用键找到所有的值
            String key=ite.next();
            String val=map.get(key);
            System.out.println(key+":"+val);
        }


        //利用lamda表达式
        System.out.println("--------利用lamda表达式-----------");
        strings.forEach(str-> System.out.println(str+":"+map.get(str)));

    }
}

  

②entrySet

package com.Lucky.Map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
    获取键值对的第二种方法: entrySet();或取整个键值对对象

 */
public class MapDemo2 {
    public static void main(String[] args) {
        Map<String,String> map=new HashMap<>();

        map.put("BUG","时刻存在");
        map.put("爱情BUG","NB");
        map.put("人生无常","大肠包小肠");



        //每天一个小知识:alt+enter == ctrl+alt+v
        Set<Map.Entry<String, String>> entries = map.entrySet();


        //遍历获取
        entries.forEach(str-> System.out.println(str.getKey()+":"+str.getValue()));

        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey()+":"+entry.getValue());
        }

        System.out.println("*********************");
        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
            }
    }
}

  

③forEach

package com.Lucky.Map;

import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;

/*
获取键值对的第三种方法: 直接forEach
 */
public class MapDemo3 {
    public static void main(String[] args) {
        Map<String,String> map=new HashMap<>();

        map.put("QWERT","DFGHJK");
        map.put("挨打杂货福","万能");

        map.forEach(new BiConsumer<String, String>() {
            @Override
            public void accept(String k, String v) {
                System.out.println(k+":"+v);
            }
        });

        //简化版
        map.forEach((String k, String v)->{
                System.out.println(k+":"+v);
            }
        );

        //最简版
        map.forEach((k,v)-> System.out.println(k+":"+v));
    }
}

  

 

标签:Map,map,put,System,println,集合,out
From: https://www.cnblogs.com/Lucky-only/p/16975467.html

相关文章

  • 集合之Map【HashMap】
    packagecom.Lucky.Map;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;importjava.util.function.BiConsumer;/*HashMap:1.底......
  • 集合之不可变集合
    不可变List集合:packagecom.Lucky;//System.out.println("------------拓展:创建不可变的list集合---------------");importjava.util.Iterator;importjava.util.Li......
  • 集合之综合小练习
    packagecom.Lucky.test;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Random;/*自动点名器要求:班级里面存在N名学生,实......
  • 集合之Set【TreeSet】
    packagecom.Lucky;importjava.util.Iterator;importjava.util.TreeSet;/***TreeSet:底层采用红黑树结构*可排序【默认从小到大】/无重复/无索......
  • 集合之Set【HashSet】
    packagecom.Lucky;importjava.util.HashSet;importjava.util.Iterator;importjava.util.Set;importjava.util.function.Consumer;/***Set集合:无序/不可......
  • 集合之泛型【Genericcs】
    packagecom.Lucky;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Iterator;/***泛型的应用场景:*1。如果我们在定义类/......
  • 集合之Collections工具类
    packagecom.Lucky;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;/*Collections:java。util.Collections解......
  • 集合接口【Collection】之ArrayList
    packagecom.Lucky;importjava.awt.*;importjava.util.LinkedList;importjava.util.List;/*ArrayList:1.底层使用顺序存储结构,可以使用角......
  • 集合
    1packagecom.Lucky;23importjava.util.ArrayList;4importjava.util.Iterator;56/**7*集合:Collection[接口]与Map[接口]8*9*......
  • Map接口
    Map接口/*一、Map实现类的结构:  |----Map:双列数据:存储key-value的数据---类似于高中的函数:y=f(x)    |----HashMap:作为Map的主要实现类;线程不安全......