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

贵州省公路建设集团有限公司网站洛可可设计公司好进吗

贵州省公路建设集团有限公司网站,洛可可设计公司好进吗,有没有免费的手机网站建设,宜昌小学网站建设java 字典 数据结构总览 Map Map 描述的是一种映射关系,一个 key 对应一个 value,可以添加,删除,修改和获取 key/value,util 提供了多种 Map HashMap: hash 表实现的 map,插入删除查找性能都是 O(1)&…

java 字典

数据结构总览

在这里插入图片描述

Map

Map 描述的是一种映射关系,一个 key 对应一个 value,可以添加,删除,修改和获取 key/value,util 提供了多种 Map

  • HashMap: hash 表实现的 map,插入删除查找性能都是 O(1),key 没有顺序
  • TreeMap: 红黑树实现的 map,插入删除查找都是 O(lgn),key 按从大到小顺序排列
  • Hashtable: hash 实现,线程安全,key 和 value 都不能为空,key 没有顺序
  • LinkedHashMap: hash + 链表实现,按插入顺序排序
  • IdentityHashMap: 判断 key 相等的条件是,两个引用指向同一个对象,即 key == e.key
  • WeakHashMap: 弱引用 map,不会获取数据的强引用,当数据被 GC 清理时,数据将被删除

Map 的主要接口如下:

  • isEmpty: 判断是否没有元素
  • size: 获取元素个数
  • get: 获取指定 key 的 value
  • getOrDefault: 获取指定 key 的 value,如果没有 key,返回默认值
  • containsKey: 判断字典是否包含 key
  • containsValue: 判断字典是否包含 value
  • keySet: key 的集合
  • values: value 的集合
  • entrySet: 包含 key/value 的集合,主要用于遍历
  • put: 添加一个 key/value
  • putIfAbsent: key 不存在才添加,如果 key 存在,返回 value,如果 key 不存在,返回 null
  • putAll: 合并 map,不存在的 key 添加,已存在的 key 覆盖
  • remove(key): 删除,返回老 value
  • remove(key, val): 存在 map[key] = val 才删除,返回是否有元素删除
  • replace(key, newVal): 替换,返回老 value
  • replace(key, val, newVal: 存在 map[key] = val 才替换,返回是否有元素替换
  • repalceAll: 对所有的 key/value 执行 BiFounction 替换原来的 value
  • compute: 所选的 key/oldValue 执行 BiFounction 替换原来的 value;如果 key 不存在,则 oldValue 为 null
  • computeIfPresent: key 存在才执行 BiFounction 替换原来的 value
  • computeIfAbsent: key 不存在才对 key 执行 Founction 作为 value 插入
  • merge: 用 oldValue 和 newValue 执行 BiFounction 替换原来的 value;如果 key 不存在,则 oldValue 为 null

Hashtable

Hashtable 的 key/value 都不允许为空

IdentityHashMap

IdentityHashMap 判断相等的条件是 key 和 entry.key 是否为同一个引用对象

WeakHashMap

WeakHashMap 的 key 为弱引用,当原对象被 GC 回收时,这个 key 也会被自动删除

SortedMap

SortedMap 继承自 Map,key 是有序的,提供了顺序相关的几个接口

  • firstKey: 最小的 key
  • lastKey: 最大的 key
  • headMap: 小于给定元素的 key 构成的 map
  • tailMap: 大于等于给定元素的 key 构成的 map
  • subMap: from 和 to 之间的元素构成的 map,包含 from 不包含 to

NavigableMap 继承自 SortedMap,提供了如下几个接口

  • lowerKey: 小于给定值的最大的 key
  • higherKey: 大于给定值的最小的 key
  • floorKey: 小于等于给定值的最大的 key
  • ceilingKey: 大于等于给定值的最小的 key
  • lowerEntry: 小于给定值的最大的 entry
  • higherEntry: 大于给定值的最小的 entry
  • floorEntry: 小于等于给定值的最大的 entry
  • ceilingEntry: 大于等于给定值的最小的 entry
  • pollFirstEntry: 删除并获取最小的 entry
  • pollLastEntry: 删除并获取最大的 entry
  • headSet: 头部 Map,提供额外参数是否包含给定值
  • tailSet: 尾部 Map,提供额外参数是否包含给定值
  • subSet: 子 Map,提供额外参数是否包含特定值

作者:hatlonely
链接:https://www.jianshu.com/p/905369de999a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.yayakq.cn/news/773843/

相关文章:

  • 做任务挣钱网站南京建筑公司
  • 家教中介网站怎么做学员引流沈阳医大一医院男科咨询
  • 盐都区城乡建设局网站北师大 网页制作与网站建设
  • 做网站能做职业吗网站源码在线查询
  • 做混剪素材网站温州网站设计
  • 做网站别人输账号代码网站源码交易平台代码
  • 上海个人网站制作公司北京做域名公司
  • 太原php网站开发东莞钣金外发加工网
  • 怎么设置网站字体农产品电商网站的建设需求
  • 爱网站关键词查询工具广告公司的网站建设价格
  • 贵州网站建设gzzctyi上海注册公司收费
  • 怎么给网站做跳转网站片头动画用什么软件做的
  • 山东青岛网站设计直播视频网站开发
  • 手机怎么注册自己的网站2018什么做网站
  • 上行10m做网站服务ucenter 整合两个数据库网站
  • 简约的网站建设宁波网站制作服务
  • 什么做自己的网站陇南市建设局网站公示
  • 延安网站建设电话网站名
  • 12306网站做的好丑广州住房与建设 网站
  • 长沙企业网站建设报价萍乡手机网站建设
  • 做网站需要几个岗位重庆网站备案规定
  • 东莞网站建设 信科网络网站开发面试题
  • 做网站的软件dw下载湖北望新建设有限公司网站
  • 内蒙古生态文明建设相关网站263邮箱登录入口官网
  • 杭州网站开发建设图片素材网站排行榜
  • 网站怎么做一级域名跳转网站建设书本信息
  • 西宁网站设计建设wordpress html5 支持
  • 皖住房建设厅网站开封建网站
  • 校园二手市场网站建设方案wordpress推特登陆
  • 3d动画特效制作软件精准的搜索引擎优化