首页 > 其他分享 >集合框架Map的常见使用及循环的五中方式

集合框架Map的常见使用及循环的五中方式

时间:2023-12-01 20:33:25浏览次数:36  
标签:Map map System println 五中 key 集合 out

Map集合是什么? Map集合是一种以键值对形式存储和操作数据的数据结构,建立了key-value之间的映射关系,常用于存储和处理复杂的数据 Map集合的主要特点: Map和List不同,Map是一种双列集合; Map存储的是key-value的映射关系; Map不保证顺序。在遍历时,遍历的顺序不一定是put()时放入的key的顺序,也不一定是key的排序顺序; 常用方法: Map集合的使用和其他集合类似,主要包括添加、删除、获取、遍历元素等操作 方法名 描述 clear() 删除map中所有键值对 isEmpty() 判断map是否为空 size() 计算map中键值对的数量 put() 将键值对添加到map中 remove() 删除map指定的键值对 get() 获取指定key对应value keySet() 返回map所有的key键 values() 返回map所有的values值 replace() 替换map中指定的key对应的values 使用方法: 1,put():Map 中添加一个键值对 //如果添加的 key 已经存在,则会覆盖原来的 value 值 Map<string, integer=""> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("a", 111); System.out.println(map); // 输出 {a=3, b=2} 输出结果 {a=111, b=2} 由于 key 值的重复,第二次 put 操作将会覆盖掉原来的值,最终输出结果为 {a=3, b=2} 2,get():get 方法用于获取指定 key 对应的 value 值 map.put("a", 1); map.put("b", 2); int value = map.get("a"); System.out.println( value); // 输出 1 输出结果 1 我们通过 get 方法获取了 key 为 "a" 的 value 值,并输出结果为 1 3,remove():remove 方法用于删除指定 key 对应的键值对 map.put("a", 1); map.put("b", 2); System.out.println(map); // 输出 {a=1, b=2} map.remove("a"); System.out.println(map); // 输出 {b=2} 输出结果 {a=1, b=2} {b=2} 通过 remove 方法删除了 key 为 "a" 的键值对,并将结果输出为 {b=2}。注意,如果 key 不存在,则 remove 方法不会产生任何影响 4. containsKey 和 containsValue containsKey 和 containsValue 方法分别用于判断 Map 中是否包含指定的 key 或 value 值 map.put("a", 1); map.put("b", 2); boolean hasA = map.containsKey("a"); boolean hasC = map.containsKey("c"); boolean hasValue2 = map.containsValue(2); boolean hasValue3 = map.containsValue(3); System.out.println(hasA); // 输出 true System.out.println(hasC); // 输出 false System.out.println(hasValue2); // 输出 true System.out.println(hasValue3); // 输出 false 输出结果 true false true false Map 中添加了两个键值对,然后分别使用 containsKey 和 containsValue 方法来判断是否包含指定的 key 或 value 值,并将结果输出 5,clear():clear 方法用于清空 Map 中所有的键值对 map.put("a", 1); map.put("b", 2); System.out.println(map); // 输出 {a=1, b=2} map.clear(); System.out.println(map); // 输出 {} 使用 clear 方法清空了 Map 中所有的键值对,并将其输出为空集合 循环方法 Map提供了很多不同的循环方式,可根据需求选择不同的方式,以下列举了五种常见的循环方式: 首先创建一个map集合 //创建一个map集合 Map<string,string> map=new HashMap<>(); //新增键值对 map.put("呼保义","宋江"); map.put("玉麒麟","卢俊义"); map.put("智多星","吴用"); map.put("入云龙","公孙胜"); 1,使用keySet循环 //第一种keySet Set te = map.keySet();//获取所有值 for (Object key : te) { // System.out.println("键:" + key); Object va = map.get(key); System.out.println("键:" + key + "\t值:" + va); } 2,使用entrySet遍历 System.out.println("方法2 entrySet"); //第二种entrySet Set Keset = map.entrySet(); for (Object ob : Keset) { Map.Entry entry = (Map.Entry) ob; Object key = entry.getKey();//键 Object values = entry.getValue();//值 System.out.println(key + "===" + values); } 3,使用values获取集合(没有值) System.out.println("方法3 通过values获取集合(没有值)"); //第三种通过values获取集合(没有值) Collection com = map.values(); for (Object oo : com) { System.out.println(oo); } 4,Iterator迭代器方式 System.out.println("方法4 迭代器方式"); Iterator iterator=map.keySet().iterator(); while (iterator.hasNext()){ Object next = iterator.next(); Object o = map.get(next); System.out.println("key:"+next+"\tvalues:"+o); } 5,Lamdba表达式 System.out.println(" Lamdba表达式"); map.forEach((k, v) -> { System.out.println(k + "=========" + v); }); 总结不易,点个小攒攒在走把~~ ———————————————— 版权声明:本文为CSDN博主「天降伊利大王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/liyil66464/article/details/134739440

标签:Map,map,System,println,五中,key,集合,out
From: https://www.cnblogs.com/lyl20051120/p/17870817.html

相关文章

  • 记录下踩map的坑
    这两天新调个接口的时候,一直提示签名错误,但所需的时间,工号,token都是对的,完全没有头绪,卡了两天后,终于找到原因了原因是我的校验信息,是要将时间,工号,token封装在一起成字符串,然后用md5加密后传过去,之前封装时一直用的map,而map是无序的,转换成字符串时顺序不定,而后再用md5加密出来的字......
  • HashMap
    HashMap是一种非常重要的数据结构,它实现了Map接口,允许我们存储和检索键值对。HashMap使用哈希表作为其内部实现,通过哈希码来定位键值对。HashMap的内部实现:数据结构:HashMap内部使用一个数组实现,每个数组元素称为一个bucket。在默认情况下,HashMap的bucket大小为16。每个bucket可......
  • HashMap底层原理与扩容机制
    1.7数组+链表1.8数组+(链表|红黑树)JAVA1.8之后hashmap树化规则HashMap里面定义了一个常量TREEIFY_THRESHOLD=8,当链表长度超过树化阈值8时,先尝试调用resize()方法进行扩容来减少链表长度,如果数组容量已经>=64(MIN_TREEIFY_CAPACITY),才会进行树化,Node节点转为TreeNod......
  • 事事有回应:51CTO博客官方小助手,在此集合!
    “奖品什么时候发?”“为什么删除我的文章?”“我要申请TOP红人!”......关于活动福利、编辑器使用、博文的审核等等博客问题,欢迎博客的新老朋友们,有事没事,都可以找官方小助手聊一聊哦~(微信:cto51cto)【活动相关】目的:从活动开始到结束,全流程解答你的问题联系:加小助手【编辑器......
  • Map的常见使用及循环的五中方式
    Map循环遍历的五种方法方法一:Setset=map.keySet();for(Objecto:set){System.out.println(o+""+map.get(o));} 通过key的set集合进行遍历,然后通过key来取map的value,此方法用的比较多。方法二:Setset=map.keySet();Iteratoriterator=set.iterator();whil......
  • Java集合迭代器的使用
    Java迭代器(Iterator)是Java集合框架中的一种机制,它提供了一种在不暴露集合内部实现的情况下遍历集合元素的方法。JavaIterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合获取迭代器对象Iterator<类型>it=list.iterator();迭代器方......
  • java集合框架(三)ArrayList常见方法的使用
    @[toc]##一、什么是ArrarListArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。ArrayList也被广泛用于Java中的集合框架,例如Java......
  • Java8中将List优雅地转Map的多种方式
    在代码开发过程中,我们经常需要将List中的元素根据某一个字段进行分组,这个时候,我们就需要把List来转换成Map来满足我们的业务需求,通常我们转换的场景有以下几种:一、List<Object> 转 Map<String,String>二、List<Object> 转 Map<String,Object> (返回对象本身)三、List<Ob......
  • ArrayList、LinkedList、Vector三种Java集合框架的同义
    ArrayList、LinkedList、Vector是Java集合框架中的三种数据结构,它们的相同点和不同点如下:相同点:都实现了List接口,可以存储有序的元素序列,可以允许重复元素的存在;都支持随机访问(根据元素的索引访问元素),并且访问效率较高;都支持添加、删除、修改等操作,可以动态调整集合中的元素......
  • HashMap
    HashMap是一种基于哈希表的数据结构,它通过使用散列算法来存储和检索数据,因此在查找速度上非常高效。在具体格式上,HashMap在JDK1.8之前采用的是数组+链表的格式,而在JDK1.8之后则采用了数组+链表+红黑树的结构。更具体地,HashMap是通过一个公式:index=hash&(table.length-1),来确定元素......