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

Map系列

双列集合特点

1.双列集合一次需要存一对数据,分别为键和值

2.键不能重复,值可以重复

3.键和值是一一对应的,每一个·键只能找到自己对应的值

4.键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做Entry对象“;

Map中常见的API

put(K key,V value)  添加元素

remove(Object key) 根据键删除键值对元素

clear() ;       移除所有的键值对元素

containsKey()  判断集合是否包含指定的键

containsValue()  判断集合是否包含指定的值

isEmpty()  判断集合是否为空

size()   集合的长度

Map的遍历方式

1. 增加for   lambda 迭代器

2.根据键值对遍历

Set<Map.Entry<String,String>>s=m.entrySet();for(Map.Entry<String,String>m1:s){String key=m1.getKey();String value=m1.getValue();System.out.println(key+" "+value);
}

3.lambda

m.forEach(new BiConsumer<String, String>() {@Overridepublic void accept(String s, String s2) {System.out.println(s+"="+s2);}
});m.forEach((key,value)->System.out.println(key+"="+value));

HashMap的底层原理

只看键的哈希值,来进行键的插入,如果哈希值一样并且键值一样,那么会将值覆盖,如果键不一样(哈希值一样),那么就让它挂在下面(如同链表一样)

LinkedHashMap

由键决定:有序,不重复,无索引   这里的有序指的是保证存储和取出的元素顺序一致

底层数据结构是依然哈希表,只要每个键值对元素又额外多了一个双链表的机制记录存储的顺序

TreeMap

由键决定特性:不重复,无索引,可排序

可排序:对键进行排序  默认按照键的从小到大进行排序,也可以自己规定键的排序规则

1.实现Comparable接口,指定比较规则

2.创建集合时传递Comparator比较器对象,指定比较规则

http://www.dtcms.com/a/301627.html

相关文章:

  • docker搭建部署 onlyoffice 实现前端集成在线解析文档解决方案
  • 车载诊断架构 ---面向售后的DTC应该怎么样填写?
  • net8.0一键创建支持(Kafka)
  • 基于Prometheus+Grafana的分布式爬虫监控体系:构建企业级可观测性平台
  • 【旧文】Adobe Express使用教程
  • net8.0一键创建辅助开发的个人小工具
  • c++加载qml文件
  • G1回收器
  • 企业IT管理——信息安全策略纲要【模板】
  • TIM 编码器接口
  • listen() 函数详解
  • 表单重复提交、以及重复消费的幂等性问题解决方案
  • 企业如何便捷地使用宝塔面板管理系统服务和网站:一键全能部署与高效运维
  • 062_Arrays类与数组操作
  • 在飞牛OS上部署MoonTV:一站式影视聚合播放器安装教程
  • [spring6: @EnableWebMvc]-源码分析
  • MySQL 事务和锁
  • Webpack 和 Vite 的关键区别
  • 在Luckfox Lyra(Zero W)上将TF卡格式化为ext4文件系统
  • 人工智能——图像梯度处理、边缘检测、绘制图像轮廓、凸包特征检测
  • 递归查询美国加速-技术演进与行业应用深度解析
  • 2025 环法对决,VELO Angel Glide 坐垫轻装上阵
  • 【AI论文】GR-3技术报告
  • 《频率之光:危机降临》
  • 详细解释一个ros的CMakeLists.txt文件
  • tpms传感器的设计---硬件电路
  • python中的容器和对象
  • 深入理解SmolVLA中的Flow Matching Action Expert:从理论到实现
  • 从0到1学Pandas(九):Pandas 高级数据结构与操作
  • Adobe Animate中文版 v2024.24.0.10.14