-
public static interface Map.Entry<K,V>
映射条目(键值对)。Map.entrySet
方法返回地图的集合视图,其元素属于此类。 获取对映射条目的引用的唯一方法是来自此collection-view的迭代器。 这些Map.Entry
对象仅在迭代期间有效; 更正式地说,如果在迭代器返回条目后修改了支持映射,则映射条目的行为是未定义的,除非通过映射条目上的setValue
操作。- 从以下版本开始:
- 1.2
- 另请参见:
-
Map.entrySet()
-
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 变量和类型 方法 描述 static <K extends Comparable<? super K>,V>
Comparator<Map.Entry<K,V>>comparingByKey()
static <K,V>
Comparator<Map.Entry<K,V>>comparingByKey(Comparator<? super K> cmp)
返回进行比较的比较Map.Entry
通过使用特定的密钥Comparator
。static <K,V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>>comparingByValue()
static <K,V>
Comparator<Map.Entry<K,V>>comparingByValue(Comparator<? super V> cmp)
返回进行比较的比较Map.Entry
通过使用所述给定值Comparator
。boolean
equals(Object o)
将指定对象与此条目进行比较以获得相等性。K
getKey()
返回与此条目对应的键。V
getValue()
返回与此条目对应的值。int
hashCode()
返回此映射条目的哈希码值。V
setValue(V value)
用指定的值替换此条目对应的值(可选操作)。
-
-
-
方法详细信息
-
getKey
K getKey()
返回与此条目对应的键。- 结果
- 与此条目对应的密钥
- 异常
-
IllegalStateException
- 如果已从支持映射中删除条目,则实现可以(但不是必需)抛出此异常。
-
getValue
V getValue()
返回与此条目对应的值。 如果映射已从支持映射中删除(通过迭代器的remove
操作),则此调用的结果未定义。- 结果
- 与此条目对应的值
- 异常
-
IllegalStateException
- 如果已从支持映射中删除条目,则实现可以(但不是必需)抛出此异常。
-
setValue
V setValue(V value)
用指定的值替换此条目对应的值(可选操作)。 (写入映射。)如果映射已从映射中删除(通过迭代器的remove
操作),则此调用的行为未定义。- 参数
-
value
- 要在此条目中存储的新值 - 结果
- 与条目对应的旧值
- 异常
-
UnsupportedOperationException
- 如果支持映射不支持put
操作 -
ClassCastException
- 如果指定值的类阻止它存储在支持映射中 -
NullPointerException
- 如果支持映射不允许空值,则指定的值为null -
IllegalArgumentException
- 如果此值的某些属性阻止它存储在支持映射中 -
IllegalStateException
- 如果已从支持映射中删除条目,则实现可以(但不是必需)抛出此异常。
-
equals
boolean equals(Object o)
将指定对象与此条目进行比较以获得相等性。 如果给定对象也是映射条目,则返回true
,并且这两个条目表示相同的映射。 更正式地说,两个条目e1
和e2
表示相同的映射if(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
接口的不同实现中正常工作。- 重写:
-
equals
在类Object
- 参数
-
o
- 要与此映射条目进行相等性比较的对象 - 结果
-
true
如果指定的对象等于此映射条目 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
int hashCode()
返回此映射条目的哈希码值。 映射条目e
的哈希码定义为:(e.getKey()==null ? 0 : e.getKey().hashCode()) ^ (e.getValue()==null ? 0 : e.getValue().hashCode())
这确保e1.equals(e2)
暗示e1.hashCode()==e2.hashCode()
对于任何两个条目e1
和e2
,根据e2
的一般合同的Object.hashCode
。- 重写:
-
hashCode
类Object
- 结果
- 此映射条目的哈希码值
- 另请参见:
-
Object.hashCode()
,Object.equals(Object)
,equals(Object)
-
comparingByKey
static <K extends Comparable<? super K>,V> Comparator<Map.Entry<K,V>> comparingByKey()
返回一个比较器, 按键以自然顺序比较Map.Entry
。返回的比较器是可序列化的,并在将条目与空键进行比较时抛出
NullPointerException
。- 参数类型
-
K
- 然后是映射键的Comparable
类型 -
V
- 地图值的类型 - 结果
- 一个比较器, 按键自然顺序比较
Map.Entry
。 - 从以下版本开始:
- 1.8
- 另请参见:
-
Comparable
-
comparingByValue
static <K,V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()
返回一个比较器,按值自然顺序比较Map.Entry
。返回的比较器是可序列化的,并在比较具有空值的条目时抛出
NullPointerException
。- 参数类型
-
K
- 地图键的类型 -
V
- 地图值的Comparable
类型 - 结果
- 比较器按自然顺序比较
Map.Entry
的值。 - 从以下版本开始:
- 1.8
- 另请参见:
-
Comparable
-
comparingByKey
static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp)
返回进行比较的比较Map.Entry
通过使用特定的密钥Comparator
。如果指定的比较器也是可序列化的,则返回的比较器是可序列化的。
- 参数类型
-
K
- 地图键的类型 -
V
- 地图值的类型 - 参数
-
cmp
- 钥匙Comparator
- 结果
- 一个比较器,用键比较
Map.Entry
。 - 从以下版本开始:
- 1.8
-
comparingByValue
static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp)
返回进行比较的比较Map.Entry
通过使用所述给定值Comparator
。如果指定的比较器也是可序列化的,则返回的比较器是可序列化的。
- 参数类型
-
K
- 地图键的类型 -
V
- 地图值的类型 - 参数
-
cmp
- 数值Comparator
- 结果
- 比较器,用于比较
Map.Entry
的值。 - 从以下版本开始:
- 1.8
-
-