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

Map<K,V>的使用和List学习

Map

Map是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。对于静态类型的查找来说,一般直接遍历或者用二分查找【不会对区间进行插入和删除操作】

而在现实生活中的查找比如:

  • 根据姓名查询考试成绩
  • 通讯录,即根据姓名查询联系方式
  • 不重复集合,即需要先搜索关键字是否已经在集合中

注:Map最重要的特性就是去重!
当我们平常在做题时,遇到删除重复数据,或者找每个数据重复的此时等…都可以用Map来解决

Map是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且K一定是唯一的,不能重复。

<K,V>使用的是 key-value模型:
key-value 模型中 key 和 value 是一个整体,就类似于 我们一提起齐天大圣,就想起孙悟空。key-value模型就是类似于这样的一组组合。【key 和 value 互相修饰】

Map中的Value可以使一个链表形式,也就是List类型,这样就可以存储多个数据。这就牵扯到了Map添加时遇到key值重复的数据的处理方法!!!

if (mutableMap.containsKey((dataBuf[i] and 0xff.toByte()).toInt())) {var locationList =mutableMap[(dataBuf[i] and 0xff.toByte()).toInt()] as MutableList<Int>locationList.add(checkSignals(i))
} else {val locationList: MutableList<Int> = mutableListOf()locationList.add(checkSignals(i))mutableMap.put((dataBuf[i] and 0xff.toByte()).toInt(), locationList)
}
方法解释
V get(Object key)返回 key 对应的 value
V getOrDefault(Object key, V defaultValue)返回 key 对应的 value,key 不存在,返回默认值
V put(K key, V value)设置 key 对应的 value
V remove(Object key)删除 key 对应的映射关系
Set keySet()返回所有 key 的不重复集合
Collection values()返回所有 value 的可重复集合
Set<Map.Entry<K, V>> entrySet()返回所有的 key-value 映射关系
boolean containsKey(Object key)判断是否包含 key
boolean containsValue(Object value)判断是否包含 value

Map是接口类,不能实例化对象,所以只能实例化其实现类TreeMap或者HashMap

Map<String,Integer> map = new TreeMap<>();
Map<String,Integer> map = new HashMap<>();

List

Java创建List的几种方法

//1.通过 new ArrayList<>() 
List <类型> 名称 = new ArrayList<>();
EG: List<String> stringList = new ArrayList<>();
//2. 通过Arrays.asList()
List<String> stringList = Arrays.asList("1", "2", "3");
//3.通过hutool工具类collectionUtil创建 
List<String> stringList = CollectionUtil.newArrayList("1", "2", "3");hutool 依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.5.7</version></dependency>
junit 依赖
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><!-- 不设置scope就是全局--><scope>test</scope>
//4.List的创建
private var testList : List<Int>? = null
</dependency>

List的类型

在这里插入图片描述

http://www.lryc.cn/news/172177.html

相关文章:

  • Flask实现Web服务调用Python程序
  • 步步为营,如何将GOlang引用库的安全漏洞修干净
  • as-if-serial与happens-before原则详解
  • 基于Yolov8的工业小目标缺陷检测(2):动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023
  • ARM64汇编基础
  • Nodejs 第十六章(ffmpeg)
  • k8s集群部署es
  • 学习记忆——宫殿篇——记忆宫殿——记忆桩——火车+外院+客厅+卧室
  • QT用户登录注册,数据库实现
  • GEE学习总结(9)——像元二分法计算月度植被覆盖度(MODIS)
  • RabbitMQ用户命令_策略_日志
  • 停车场系统、智慧城市停车、智慧社区、物业管理、新能源充电、人脸门禁 uniapp 系统源码
  • Linux磁盘管理
  • vue学习之vue cli创建项目
  • K8S:Pod容器中的存储方式及PV、PVC
  • uni-app跳转到另一个app
  • 如何通过一键导出导入数据实现批量重命名文件名称
  • CTF —— 网络安全大赛(这不比王者好玩吗?)
  • 3D模型转换工具HOOPS Exchange如何实现OBJ格式轻量化?
  • 命令模式-
  • 进程的管理
  • 绿色科技:可持续发展的创新解决方案
  • 安防视频/视频汇聚平台EasyCVR使用onvif探测添加设备通道详细步骤来啦!
  • Python单例模式(3种常用方式)
  • uni-app实现web-view图片长按下载
  • 深入理解Linux网络笔记(一):内核是如何接收网络包的
  • android系统目录结构
  • 怒刷LeetCode的第11天(Java版)
  • CentOS LVM缩容与扩容步骤
  • 开发者福利!李彦宏将在百度世界大会手把手教你做AI原生应用