树叶云鸿蒙OS教程:鸿蒙OS Map.Entry

Map.Entry

public static interface Map.Entry<K,V>

映射条目(键值对)。 Map.entrySet 方法返回map的集合视图,其元素属于此类。 获取对映射条目的引用的唯一方法是从此集合视图的迭代器。 这些 Map.Entry 对象仅在迭代期间有效; 更正式地说,如果在迭代器返回条目之后修改了支持映射,则映射条目的行为是未定义的,除非通过对映射条目的 setValue 操作。

方法总结

修饰符和类型方法描述
static <K extends Comparable<? super K>,V>Comparator<Map.Entry<K,V>>comparingByKey()返回一个比较器,它按键的自然顺序比较 Map.Entry。
static <K,V> Comparator<Map.Entry<K,V>>comparingByKey(Comparator<? super K> cmp)返回一个比较器,它使用给定的比较器按键比较 Map.Entry。
static <K,V extends Comparable<? super V>>Comparator<Map.Entry<K,V>>comparingByValue()返回一个比较器,它按自然顺序比较 Map.Entry 的值。
static <K,V> Comparator<Map.Entry<K,V>>comparingByValue(Comparator<? super V> cmp)返回一个使用给定 Comparator 按值比较 Map.Entry 的比较器。
booleanequals(Object o)比较指定对象与此条目是否相等。
KgetKey()返回与该条目对应的键。
VgetValue()返回与该条目对应的值。
inthashCode()返回此映射条目的哈希码值。
VsetValue(V value)用指定的值替换与该条目对应的值(可选操作)。

方法详情

getKey

K getKey()

返回与该条目对应的键。

返回:

此条目对应的键

Throws:

Throw名称Throw描述
IllegalStateException如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。

getValue

V getValue()

返回与该条目对应的值。 如果映射已从支持映射中删除(通过迭代器的删除操作),则此调用的结果是未定义的。

返回:

此条目对应的值

Throws:

Throw名称Throw描述
IllegalStateException如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。

setValue

V setValue(V value)

用指定的值替换与该条目对应的值(可选操作)。 (写入映射。)如果映射已经从映射中删除(通过迭代器的删除操作),则此调用的行为是未定义的。

参数:

参数名称参数描述
value要存储在此条目中的新值

返回:

对应条目的旧值

Throws:

Throw名称Throw描述
UnsupportedOperationException如果支持映射不支持 put 操作
ClassCastException如果指定值的类阻止它存储在支持映射中
NullPointerException如果后备映射不允许空值,并且指定的值为空
IllegalArgumentException如果此值的某些属性阻止它存储在支持映射中
IllegalStateException如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。

equals

boolean equals(Object o)

比较指定对象与此条目是否相等。 如果给定对象也是一个映射条目并且这两个条目表示相同的映射,则返回 true。 更正式地说,两个条目 e1 和 e2 表示相同的映射,如果

     (e1.getKey()==null ?
      e2.getKey()==null : e1.getKey().equals(e2.getKey()))  &&
     (e1.getValue()==null ?
      e2.getValue()==null : e1.getValue().equals(e2.getValue()))

这确保了 equals 方法在 Map.Entry 接口的不同实现中正常工作。

覆盖:

类 Object 中的等于

参数:

参数名称参数描述
o要与此映射条目比较是否相等的对象

返回:

如果指定的对象等于此映射条目,则为 true

hashCode

int hashCode()

返回此映射条目的哈希码值。 映射条目 e 的哈希码定义为:

     (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
     (e.getValue()==null ? 0 : e.getValue().hashCode())

这确保了 e1.equals(e2) 意味着对于任何两个条目 e1 和 e2 的 e1.hashCode()==e2.hashCode(),这是 Object.hashCode 的一般合同所要求的。

覆盖:

类 Object 中的 hashCode

返回:

此映射条目的哈希码值

comparingByKey

static <K extends Comparable<? super K>,V> Comparator<Map.Entry<K,V>> comparingByKey()

返回一个比较器,它按键的自然顺序比较 Map.Entry。

返回的比较器是可序列化的,并在将条目与空键进行比较时抛出 NullPointerException。

类型参数:

类型参数名称类型参数描述
Kthen 映射键的 Comparable 类型
Vmap值的类型

返回:

一个比较器,它按键的自然顺序比较 Map.Entry。

comparingByValue

static <K,V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()

返回一个比较器,它按自然顺序比较 Map.Entry 的值。

返回的比较器是可序列化的,并在将条目与空值进行比较时抛出 NullPointerException。

类型参数:

类型参数名称类型参数描述
K映射键的类型
Vmap值的 Comparable 类型

返回:

一个比较器,它按自然顺序比较 Map.Entry 的值。

comparingByKey

static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp)

返回一个比较器,它使用给定的比较器按键比较 Map.Entry。

如果指定的比较器也是可序列化的,则返回的比较器是可序列化的。

类型参数:

类型参数名称类型参数描述
K映射键的类型
Vmap值的类型

参数:

参数名称参数描述
cmp值比较器

返回:

通过键比较 Map.Entry 的比较器。

comparingByValue

static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp)

返回一个使用给定 Comparator 按值比较 Map.Entry 的比较器。

如果指定的比较器也是可序列化的,则返回的比较器是可序列化的。

类型参数:

类型参数名称类型参数描述
K映射键的类型
Vmap值的类型

参数:

参数名称参数描述
cmp值比较器

返回:

按值比较 Map.Entry 的比较器。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/156302.html<

赞 (0)
管理的头像管理
上一篇2025-03-15 20:37
下一篇 2025-03-15 20:38

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注