java.util.Map——Map集合的常用方法「建议收藏」

java.util.Map——Map集合的常用方法「建议收藏」Java技术交流群:817997079,欢迎“有志之士”的加入。开发中最常用的就是List集合和Map集合,Map集合是基于java核心类——java.util中的;Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value;下面介绍的是Map集合的一些经常用到的方法以及代码示例。1.map.size();方法作用:获取map集合类的大小(m…

大家好,又见面了,我是你们的朋友全栈君。

阿里云服务器优惠链接:云小站_专享特惠_云产品推荐-阿里云

开发中最常用的就是List集合和Map集合,Map集合是基于java核心类——java.util中的;Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value;下面介绍的是Map集合的一些经常用到的方法以及代码示例。

1.map.size();
方法作用:获取map集合类的大小(map集合包含键值对关系映射的数量)
示例:

public static void main(String[] args) {
        //new出map实例
       Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
        //返回值为int类型
        int size = map.size();
	//输出size
	System.out.println("map实例中的键值个数为:"+size);


     }

2.map.values();
方法作用:获取map集合类所有的值(value)

示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//得到map实例中所有的value,返回值类型为Collection
	Collection values = map.values();
	//输出values
	System.out.println("map实例中所有的值(value)为"+values);
    }

3.map.keySet();
方法作用:获取map集合所有的键(key)
示例

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//获取map实例中所有的键(key),返回值类型为Set
	Set set = map.keySet();
	//输出set
	System.out.println("map实例中所有的key为:"+set);
    }

4.map.get();//形参为key的名字
方法作用:通过键(key)的名字获取和键相匹配的值(方法映射),如果key或者value为空,则返回null;
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//通过key获取value
	Object o = map.get("1");
	//输出o
	System.out.println("得到的value为:"+o);
    }

5.map.remove()//形参为key
方法作用:根据key移除map中的与该key对应的value
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加了3个键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//移除key为1的键值
	map.remove("1");
	//输出map的大小
	System.out.println("移除后的map大小为:"+map.size());//此处输出为2
    }

6.map.clear();//形参为空,返回值为空
方法作用:清空Map集合中所有的键值
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加了3个键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//清空map的键值
	map.clear();
	//输出map的大小
	System.out.println("清空后的map大小为:"+map.size());//此处输出为0
    }

7.Entry
作用:Entry是Map集合中的一个内部接口,用于封装Map集合中的一组键值(key和value)
jdk1.5新特性之前的写法为Map.entry<k,v>,jdk1.5的新特性静态导入的导包方式写法为Entry,两种写法达到的效果一致,并没有什么不同。
前者为父类引用指向子类对象,后者是直接调用子类对象。
示例:

public static void main(String[] args) {
	//获取Map内部接口Entry
	Entry entry;
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
	//获得map中键值对的集合
        Set set = map.entrySet();
        //得到集合的迭代器
        Iterator iterator = set.iterator();
        //遍历迭代器
        while (iterator.hasNext()){
            //遍历出的键值放进entry集合里
            entry=(Map.Entry) iterator.next();
            //得到entry的key
            String key = (String) entry.getKey();
            //得到entry的value
            String value = (String) entry.getValue();
	    //输出key和value
            System.out.println("得到的key为"+key);
            System.out.println("得到的value为"+value);
        }
	
     }

8.map.putAll()//形参为map集合
方法作用:把一个map集合合并到另一个map集合里
示例:

public static void main(String[] args) {
        //new出map1实例
        Map map1 = new HashMap();
        //向map1实例中添加了3个键值
        map1.put("1","飞机");
        map1.put("2","坦克");
        map1.put("3","大炮");
	//输出map1的大小
	System.out.println("map1的大小为:"+map1.size());//此处输出为3
	//new出map2实例
        Map map2 = new HashMap();
        //向map2实例中添加了2个键值
        map2.put("4","苹果");
        map2.put("5","香蕉");
	//输出map2的大小
	System.out.println("map2的大小为:"+map2.size());//此处输出为2
	//把map2合并到map1里
	map1.putAll(map2);//合并时如果map2的key与map1的key有重复的,则map2的键值覆盖与map1重复的键值
	System.out.println("合并后的map1大小为:"+map1.size());//此处输出为5
	
    }

9.JDK8新特性新增的lambda表达式遍历Map的方法——Map.forEach();

public static void main(String[] args) {
		Map<String,String> map = new HashMap<>();
		map.put("1","飞机");
		map.put("2","坦克");
		map.put("3","大炮");
		map.forEach((k,v)-> {
		    System.out.println(k+":"+v);
		});
	}

以上是我总结的一些Map基本的常用的方法,一般是用来封装参数的,希望可以对大家有些帮助,也算是自己的一个笔记。

                                                                                                                   ————————————纯属原创,不喜勿喷。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 贪吃蛇的程序代码_贪吃蛇代码怎么运行

    贪吃蛇的程序代码_贪吃蛇代码怎么运行效果按方向键移动按空格加速按esc暂停按两次esc退出随着蛇的长度增加,蛇移动速度加快没有屏闪main()intmain(){ Init(); //初始化 while(!die) { ProcessKey(); //处理按键 Move(); //移动蛇 Judge(); //碰撞检测 Draw(); /…

    2025年9月13日
    5
  • 关于tempdb的一些注意事项

    关于tempdb的一些注意事项

    2021年11月25日
    44
  • 五、Abp vNext 基础篇丨博客聚合功能

    五、Abp vNext 基础篇丨博客聚合功能介绍业务篇章先从客户端开始写,另外补充一下我给项目起名的时候没多想起的太随意了,结果后面有些地方命名冲突了需要通过手动using不过问题不大。开工应用层根据第三章分层架构里面讲到的现在我们模型

    2022年7月4日
    23
  • 14种DLL注入技术

    14种DLL注入技术本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。第一种CreateRemoteThread远程线程调用DLL注入是指向某一个特定的进程空间强制插入一个特定的DLL文件映像,值得注意的是这种插入是强制性的插…

    2022年5月13日
    46
  • mysql如何批量添加数据_mysql如何批量insert数据

    mysql如何批量添加数据_mysql如何批量insert数据mysql批量insert数据的方法:1、循环插入;2、减少连接资源,拼接一条sql;3、使用存储过程;4、使用【MYSQLLOCAL_INFILE】。本教程操作环境:windows7系统、mysql8.0.22版,该方法适用于所有品牌电脑。mysql批量insert数据的方法:方法一:循环插入这个也是最普通的方式,如果数据量不是很大,可以使用,但是每次都要消耗连接数据库的资源。大致思维如下(我…

    2025年8月12日
    2
  • 基于stm32的智能小车(远程控制、避障、循迹)

    基于stm32的智能小车(远程控制、避障、循迹)学完stm32,总是想做点东西“大显身手”一下,智能小车就成了首选项目,其核心只是就是PWM输出,I/O口引脚电平判断。制作智能小车的硬件名单:制作智能小车的硬件列表: (1)STM32C8T6核心板 一块 (2)L298N电机驱动 两个 (3)2.4G无线通讯模块 一个 (4)红外壁障模块 两个 (5)红外循迹模块 两个 (6)电源转换模块 一个 (7)18650供电电池

    2022年10月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号