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

盐城微网站建设天宁网站建设

盐城微网站建设,天宁网站建设,注册500万公司每月交税,巩义网站建设托管Java知识点总结:想看的可以从这里进入 目录8.3、map结构8.3.1、 map接口8.3.2、HashMap8.3.3、LinkedHashMap8.3.4、TreeMap8.3、map结构 8.3.1、 map接口 map的集合是以键值对的形式存在的 (key-value),每个键只能对应一个值,通常通过键去…

Java知识点总结:想看的可以从这里进入

目录

      • 8.3、map结构
        • 8.3.1、 map接口
        • 8.3.2、HashMap
        • 8.3.3、LinkedHashMap
        • 8.3.4、TreeMap

8.3、map结构

8.3.1、 map接口

map的集合是以键值对的形式存在的 (key-value),每个键只能对应一个值,通常通过键去查找值,所以键是唯一的不可重复,而值则没有限制(键和值可以是任何引用类型的数据,但是键最常用的是String类型)

image-20220301180109447
方法:
1、int size():返回map中key-value对的个数
2、boolean isEmpty():判断当前map是否为空
3、boolean containsKey(Object key):判断一个键是否存在boolean containsValue(Object value):判断一个值是否存在
4、V get(Object key):根据key获取值
5、V put(key,value):添加一个键值对元素(如果该键已存在,则更改其value值)void putAll(map2):将map2中的所有键值添加
6、V remove(Object key):根据键移除一个键值对元素
7、void clear():清空
8、Set<K> keySet():将所有的键放到set集合中
9、Collection<V> values():将值放到Collection集合中
10、Set<Map.Entry<K, V>> entrySet():返回map中键值的映射集合到set中,key=value形式
11、int hashCode():返回哈希吗
12、boolean equals(Object o):当哈希码相同的时候,使用equals判断

image-20230216160206988

8.3.2、HashMap

HashMap链接

8.3.3、LinkedHashMap

LinkedHashMap 是 HashMap 的子类,它在HashMap的基础上增加了双向链表的结构可以通过双向链表记录数据的插入顺序,与LinkedHashSet类似,LinkedHashMap 可以维护 Map 的迭代顺序:迭代顺序与 Key-Value 对的插入顺序一致。他对HashMap中的一些方法进行了重写,让所有对底层HashMap数据结构修改的同时也对该链表进行修改,遍历的时候便是遍历这一条有序的链表。(主要是在HashMap方法的基础上,添加了一些双向链表的操作,其他的特性基本没有更改)

image-20230217151443264 image-20230217151506621

在LinkedHashMap 中有一个属性 accessOrder,它控制LinkedHashMap的排序方式,如果它为false时,是按照插入顺序来排序的,但是设置了accessOrder = true 时,则在调用get()方法时,会因为 if(accessOrder == true ) 而调用afterNodeAccess方法来调整顺序。基于get()在accessOrder为true时,会将访问到的元素放到链表的最后的特性,可以使用LinkedHashMap实现LRU缓存。

image-20230217151526312 image-20230217151853089 image-20230217152059377

8.3.4、TreeMap

基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。它可以保证所有的 Key-Value 对处于有序状态。

TreeMap判断两个key相等的标准:两个key通过compareTo()方法或者compare()方法返回0。

同样它排序也是依据Comparable 和 Comparator 实现的:

  1. 自然排序:TreeMap 的所有的 Key 必须实现 Comparable 接口,而且所有的 Key 应该是同一个类的对象,否则将会抛出 ClasssCastException
  2. 定制排序:创建 TreeMap 时,传入一个 Comparator 对象,该对象负责对TreeMap 中的所有 key 进行排序。此时不需要 Map 的 Key 实现Comparable 接口
使用其键的自然顺序构造一个新的空树图。插入所有键都必须实现Comparable接口
public TreeMap() {comparator = null;
}造一个新的空树图,根据给定的比较器排序。插入映射中的所有键必须由给定的比较器相互比较
public TreeMap(Comparator<? super K> comparator) {this.comparator = comparator;
}构造一个新的树映射,包含与给定映射相同的映射,根据其键的自然顺序排序。插入到新映射中的所有键都必须实现Comparable接口。
public TreeMap(Map<? extends K, ? extends V> m) {comparator = null;putAll(m);
}构造一个包含相同映射并使用与指定排序映射相同顺序的新树映射。该方法以线性时间运行。
public TreeMap(SortedMap<K, ? extends V> m) {comparator = m.comparator();try {buildFromSorted(m.size(), m.entrySet().iterator(), null, null);} catch (java.io.IOException | ClassNotFoundException cannotHappen) {}
}
1、int size():返回此映射中键值映射的数量。
2、boolean containsKey(Object key):判断key是否存在boolean containsValue(Object value):判断值是否存在
3、V get(Object key):根据key获取值K firstKey():获取第一个keyK lastKey():获取最后一个keyMap.Entry<K, V> firstEntry():返回该TreeMap的第一个(最小的)映射Map.Entry<K, V> lastEntry():返回该TreeMap的最后一个(最大的)映射SortedMap<K, V> headMap(K toKey):返回该TreeMap中严格小于指定key的映射集合SortedMap<K, V> subMap(K fromKey, K toKey):返回该TreeMap中指定范围的映射集合(大于等于fromKey,小于toKey)
4、putAll(Map<? extends K, ? extends V> map):将指定映射中的所有映射复制到此映射。V put(K key, V value) :添加元素
5、void clear():清空TreeMap中的所有元素
6、V remove(Object key):从TreeMap中移除指定key对应的映射
7、V replace(K key, V value):替换指定key对应的value值boolean replace(K key, V oldValue, V newValue):当指定key的对应的value为指定值时,替换该值为新值
8、Collection<V> values():返回由该TreeMap中所有的values构成的集合Set<Map<K, V>> entrySet():返回由该TreeMap中的所有映射组成的Set对象
http://www.15wanjia.com/news/174090.html

相关文章:

  • 如何建网站平台中小型企业网站建设与推广
  • 沈阳做网站的地方罗湖商城网站建设多少钱
  • 深圳网站设计与开发国内外做gif的网站
  • 一个网站怎么做软件怎么开网站
  • 网站后台管理生成器品牌战略咨询
  • 网站的域名怎么起国内python 做的网站
  • 网站代理加盟赚钱吗中国网站推广黄页名录
  • 如何做外贸网站美橙网站建设学习教程
  • 启凡科技企业网站建设成都商务网站建设
  • 怀化市建设局网站地址建设通手机版
  • 兰州网站设计公司排名wordpress 百度编辑器
  • 建立个人网站流程网站做自适应
  • php网站开发流程苏州建设公司
  • 建设部职称证书查询官方网站网站搭建的策略与方法
  • 静态网站用什么做最快电子商务网站建设与管理期末考试试卷a
  • WordPress全站广告wordpress 搬家 域名
  • 网站推广服务济南企业网站关键词推广
  • 广州制作网站公司哪家好wordpress 修改 点击量
  • 巴中微信网站建设网站建设维护工作职责
  • 在家做兼职官方网站平台小说网站开发需求
  • 公司网站.可以自己做吗手机搭建个人网站
  • 广告品牌设计机构网站织梦模板网站首页模板怎么做策划
  • 做违规网站网站制作 成都
  • 网站建设需要域名吗?英语教学网站建设意见
  • 企业网站制作公司合肥网站开发项目计划书模板
  • 学校网站开发网站建设不包括哪个阶段
  • 网站优化时间租房网 wordpress
  • 企业网站建设的一般原则模板王字库官方下载
  • 沈阳科技网站建设武威网站制作公司哪个好
  • 韶关市建设局网站安徽网站开发与维护专业