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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm中安装第三方库出现错误_pycharm常用第三方库

    pycharm中安装第三方库出现错误_pycharm常用第三方库我在命令行窗口用pipinstall库名的时候,ModuleNotFoundError:Nomodulenamed‘pip._internal.cli.main’这是在pycharm里报的错Traceback(mostrecentcalllast):File“f:\python\lib\runpy.py”,line193,in_run_module_as_main“main”,mod_spec)File“f:\python\lib\ru

    2022年8月26日
    5
  • Linux设备树详解(一) 基础知识

    Linux设备树详解(一) 基础知识1.前言关于设备树,之前就经过详细的系统培训,但是本着会用就行的原则,对各个知识点都没有进行系统的总结。都是用到哪里学哪里,时间长了,基本也忘记了。所以对于后期知识各个知识点进行总结。2.为什么要引入DTS在传统Linux内核中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的platform设备、resource…

    2022年6月16日
    27
  • display属性值有哪些_验证控件display属性

    display属性值有哪些_验证控件display属性1、display:flex属性display:flex是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertic…

    2025年8月6日
    5
  • 【《重构 改善既有代码的设计》学习笔记3】代码的坏味道[通俗易懂]

    【《重构 改善既有代码的设计》学习笔记3】代码的坏味道本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!知道重构的原则和何时进行重构,那本篇就总结一些代码的坏味道,知道具体从哪些方面来进行重构。kent Beck提出用 味道来形容重构的时机。作者说:何时必须重构没有一个精确的衡量标准,任何量度规矩也比不上一个见识广博者的直觉。如果没有广博的见识…

    2022年2月27日
    37
  • 网页幻灯片轮播代码_怎么快速实现对幻灯片的统一修改

    网页幻灯片轮播代码_怎么快速实现对幻灯片的统一修改   NetCMS有两种幻灯片显示方式:Flash幻灯片和轮换幻灯片。Flash幻灯片是通过将图片新闻中的图片合成Flash后再在页面上显示。轮换幻灯片则是使用脚本进行控制(准确地说,是使用VBScript)。   其实,这两种显示形式差不多,只不过Flash幻灯片是通过Flash实现图片的过渡效果,而轮换幻灯片是利用IE提供的Filter属性实现图片过渡效果的。   鉴于轮换幻灯片

    2022年9月30日
    2
  • 中心极限与大数定理律的关系_大数定理的通俗理解(辛钦、伯努利、切比雪夫大数定理)…

    中心极限与大数定理律的关系_大数定理的通俗理解(辛钦、伯努利、切比雪夫大数定理)…大数定理简单来说 指得是某个随机事件在单次试验中可能发生也可能不发生 但在大量重复实验中往往呈现出明显的规律性 即该随机事件发生的频率会向某个常数值收敛 该常数值即为该事件发生的概率 另一种表达方式为当样本数据无限大时 样本均值趋于总体均值 因为现实生活中 我们无法进行无穷多次试验 也很难估计出总体的参数 大数定律告诉我们能用频率近似代替概率 能用样本均值近似代替总体均值 很好得解决了现实问题 大

    2025年6月8日
    2

发表回复

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

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