codecamp

鸿蒙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 的比较器。
boolean equals(Object o) 比较指定对象与此条目是否相等。
K getKey() 返回与该条目对应的键。
V getValue() 返回与该条目对应的值。
int hashCode() 返回此映射条目的哈希码值。
V setValue(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。

类型参数:

类型参数名称 类型参数描述
K then 映射键的 Comparable 类型
V map值的类型

返回:

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

comparingByValue

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

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

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

类型参数:

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

返回:

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

comparingByKey

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

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

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

类型参数:

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

参数:

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

返回:

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

comparingByValue

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

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

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

类型参数:

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

参数:

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

返回:

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

鸿蒙OS Map
鸿蒙OS NavigableMap
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }