阅读(4358) (4)

鸿蒙OS AbstractMap.SimpleEntry

2022-06-15 18:01:28 更新

AbstractMap.SimpleEntry

java.lang.Object

|---java.util.AbstractMap.SimpleEntry<K,V&

public static class AbstractMap.SimpleEntry<K,V>
extends Object
implements Map.Entry<K,V>, Serializable

维护键和值的条目。 可以使用 setValue 方法更改该值。 此类有助于构建自定义地图实现的过程。 例如,在 Map.entrySet().toArray 方法中返回 SimpleEntry 实例的数组可能很方便。

构造函数摘要

构造函数 描述
SimpleEntry(Map.Entry<? extends K,? extends V> entry) 创建一个表示与指定条目相同的映射的条目。
SimpleEntry(K key, V value) 创建一个表示从指定键到指定值的映射的条目。

方法总结

修饰符和类型 方法 描述
boolean equals(Object o) 比较指定对象与此条目是否相等。
K getKey() 返回与该条目对应的键。
V getValue() 返回与该条目对应的值。
int hashCode() 返回此映射条目的哈希码值。
V setValue(V value) 将与此条目对应的值替换为指定的值。
String toString() 返回此映射条目的字符串表示形式。
从接口 java.util.Map.Entry 继承的方法
comparingByKey, comparingByKey, comparingByValue, comparingByValue
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

构造函数详细信息

SimpleEntry

public SimpleEntry(K key, V value)

创建一个表示从指定键到指定值的映射的条目。

参数:

参数名称 参数描述
key 此条目表示的键
value 此条目表示的值

SimpleEntry

public SimpleEntry(Map.Entry<? extends K,? extends V> entry)

创建一个表示与指定条目相同的映射的条目。

参数:

参数名称 参数描述
entry 要复制的条目

方法详情

getKey

public K getKey()

返回与该条目对应的键。

指定者:

接口 Map.EntryK,V 中的 getKey

返回:

此条目对应的键

getValue

public V getValue()

返回与该条目对应的值。

指定者:

接口 Map.EntryK,V 中的 getValue

返回:

此条目对应的值

setValue

public V setValue(V value)

将与此条目对应的值替换为指定的值。

指定者:

接口 Map.EntryK,V 中的 setValue

参数:

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

返回:

对应条目的旧值

equals

public 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 接口的不同实现中正常工作。

指定者:

接口 Map.EntryK,V 中的等于

覆盖:

类 Object 中的等于

参数:

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

返回:

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

hashCode

public 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 的一般合同所要求的。

指定者:

接口 Map.EntryK,V 中的 hashCode

覆盖:

类 Object 中的 hashCode

返回:

此映射条目的哈希码值

toString

public String toString()

返回此映射条目的字符串表示形式。 此实现返回此条目的键的字符串表示形式,后跟等号字符 ("="),后跟此条目的值的字符串表示形式。

覆盖:

类 Object 中的 toString

返回:

此映射条目的字符串表示形式