当前位置: 首页 > news >正文

java-Map集合

Map集合

  • Map集合也叫“键值对集合”,格式:{key1=value1,key2=value2,key3=value3}
  • 所有键不允许重复,值可以重复,键和值一一对应
    在这里插入图片描述
    Map集合特点:
    注意:Map系列集合特点都是由键决定的,值不做要求
  • hashMap:无序,不重复,无索引
  • LinkedHashMap:有序,无重复,无索引
  • TreeMap:按大小默认升序排列,无重复,无索引

Map集合的常用方法

在这里插入图片描述

Map集合的遍历方式

键找值

public class MapTraversedemo3 {public static void main(String[] args) {Map<String,Integer> map = new LinkedHashMap<>();map.put("贺丽亚",18);map.put("克拉里",19);map.put("贺丽亚",20);map.put("芽衣",30);map.put("寻梦者",19);System.out.println(map);//1、提取map集合的全部键到set集合Set<String> keys = map.keySet();//2、遍历set集合,获取每一个键,获取键对应的值for (String key : keys) {Integer value = map.get(key);System.out.println(key+"="+value);}}
}

键值对

public class MapTraversedemo4 {public static void main(String[] args) {//键值对Map<String,Integer> map = new LinkedHashMap<>();map.put("贺丽亚",18);map.put("克拉里",19);map.put("贺丽亚",20);map.put("芽衣",30);map.put("寻梦者",19);System.out.println(map);//把map集合转成set集合,里面的元素都是键值对类型Set<Map.Entry<String,Integer>> entrySet = map.entrySet();for (Map.Entry<String,Integer> entry : entrySet) {//获取键String key = entry.getKey();//获取值Integer value = entry.getValue();System.out.println(key+"---"+value);}}
}

Lambda表达式

public class MapTraversedemo5 {public static void main(String[] args) {//LambdaMap<String,Integer> map = new LinkedHashMap<>();map.put("贺丽亚",18);map.put("克拉里",19);map.put("贺丽亚",20);map.put("芽衣",30);map.put("寻梦者",19);System.out.println(map);//1、直接调用map集合的forEach方法/*map.forEach(new BiConsumer<String, Integer>() {@Overridepublic void accept(String s, Integer integer) {System.out.println(s+"---"+integer);}});*/map.forEach((s,integer)-> System.out.println(s+"---"+integer));}
}

Map集合的实现类

set集合底层是基于map实现的,set集合只要键数据,不要值数据
在这里插入图片描述

LinkedHashSet集合底层原理就是LinkedHashMap
在这里插入图片描述

在这里插入图片描述
TreeMap:按键的大小默认升序排列,无重复,无索引
TreeMap和TreeSet底层都是基于红黑树实现的排序

public class mapdemo7 {public static void main(String[] args) {Map<People,String> map = new TreeMap<>((o1, o2)->Double.compare(o2.getSalary(),o1.getSalary()));map.put(new People("张三",18,5000),"955");map.put(new People("李四",19,6000),"188");map.put(new People("王五",20,7000),"198");map.put(new People("赵六",21,8000),"188");System.out.println(map);}
}
http://www.dtcms.com/a/410910.html

相关文章:

  • Web开发:ABP框架14——多个实现,一个接口的高端写法
  • Springboot社区集市摆摊管理系统jv9kp(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 国产手机百花齐放,如何化解“选择困难症”?
  • 百度主机做视频网站怎么样淘宝客是以下哪个网站的会员简称
  • AI 算力加速指南
  • 【財運到】股票期货盯盘助手-自选股界面介绍
  • 架构入门系列:用数学公式估算服务器数量的实战指南
  • Redis02-Ehcache缓存
  • 结合 SSH 22 + 2222 备用端口 + 临时保护 + 长期守护 + 防火墙 的终极一行命令版本
  • 使用虚幻引擎时间轴制作一个弹跳小球
  • 网站推广和精准seo深圳网站设计兴田德润i简介
  • 从比分到直播流畅度:API 在体育观赛中的关键作用
  • JavaScript又忘了,忘了?太正常了!忘了?太正常了!重新上路:
  • 全新一代北斗三号短报文通信SoC芯片在北斗规模应用国际峰会发布
  • 佛山做企业网站的公司专业设计网站有哪些
  • 户用储能微型逆变器计量电表防逆流
  • 通过手动安装本地部署live-torrent (影视搜索,云播客户端)
  • 学做立体书的网站网站怎么做gps定位
  • 【实时Linux实战系列】实时系统的现场变更与灰度发布
  • 做个简单网站大概多少钱it培训机构排名北京
  • Spring Boot 自动配置之 TaskScheduler
  • .NET Framework 3.5官网下载与5种常见故障解决方法
  • nginx的访问控制、用户认证、https
  • 网站建设完整网站如何做图片特效
  • 服装类跟单系统:提升供应链管理效率的利器
  • 基于微信小程序的旅游景点系统【2026最新】
  • 网站建设升级网站开发项目架构
  • JxBrowser 7.44.0 版本发布啦!
  • Python 高效将 PDF 转换为 HTML 的实用指南
  • Ubuntu 24.04 LTS 安装GAMIT