Package org.miaixz.bus.core.center.map


package org.miaixz.bus.core.center.map
Map相关封装,提供特殊Map实现
Since:
Java 17+
Author:
Kimi Liu
  • Class
    Description
    抽象的Map.Entry实现,来自Guava 实现了默认的AbstractEntry.equals(Object)AbstractEntry.hashCode()AbstractEntry.toString()方法。 默认AbstractEntry.setValue(Object)抛出异常。
    BiMap<K,V>
    双向Map 互换键值对不检查值是否有重复,如果有则后加入的元素替换先加入的元素 值的顺序在HashMap中不确定,所以谁覆盖谁也不确定,在有序的Map中按照先后顺序覆盖,保留最后的值 它与TableMap的区别是,BiMap维护两个Map实现高效的正向和反向查找
    驼峰Key风格的LinkedHashMap 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖
    驼峰Key风格的Map 对KEY转换为驼峰,get("int_value")和get("intValue")获得的值相同,put进入的值也会被覆盖
    忽略大小写的LinkedHashMap 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
    忽略大小写的Map 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
    忽略大小写的TreeMap 对KEY忽略大小写,get("Value")和get("value")获得的值相同,put进入的值也会被覆盖
    自定义键的Map,默认HashMap实现
    字典对象,扩充了LinkedHashMap中的方法
    固定大小的LinkedHashMap 实现 注意此类非线程安全,由于LinkedHashMap.get(Object)操作会修改链表的顺序结构,因此也不可以使用读写锁。
    基于多个TreeEntry构成的、彼此平行的树结构构成的森林集合。
    自定义函数Key风格的Map
    自定义键值函数风格的Map
    基于哈希表的IntMap接口实现。这个实现提供了所有可选的map操作,并允许null值。 IntHashMap 类大致相当于HashMap,除了它使用int作为它的键。 这个类不保证映射的顺序;特别是,它不能保证顺序在一段时间内保持不变。
     
    ForestMap的基本实现。
    Map.Entry包装类
    树节点
    Map创建类
    Map的getXXX封装,提供针对通用型的value按照所需类型获取值
    Map拼接器,可以拼接包括Map、Entry列表等。
    Map代理,提供各种getXXX方法,并提供默认值支持
    Map检查工具类,提供字对象的blank和empty等检查 empty定义:null or 空字对象:"" blank定义:null or 空字对象:"" or 空格、全角空格、制表符、换行符,等不可见字符
    Map包装类,通过包装一个已有Map实现特定功能。例如自定义Key的规则或Value规则
    可重复键和值的Map 通过键值单独建立List方式,使键值对一一对应,实现正向和反向两种查找 无论是正向还是反向,都是遍历列表查找过程,相比标准的HashMap要慢,数据越多越慢
    一个可以提供默认值的Map
    自定义键和值转换的的Map 继承此类后,通过实现TransMap.customKey(Object)TransMap.customValue(Object),按照给定规则加入到map或获取值。
    允许拥有一个父节点与多个子节点的Map.Entry实现, 表示一个以key作为唯一标识,并且可以挂载一个对应值的树节点, 提供一些基于该节点对其所在树结构进行访问的方法
    三值表结构,可重复 用于提供三种值相互查找操作 查找方式为indexOf方式遍历查找,数据越多越慢。