-
public static interface Map.Entry<K,V>
地图条目(键值对)。Map.entrySet
方法返回地图的集合视图,其元素属于此类。 获取对映射条目的引用的唯一方法是从该集合视图的迭代器。 这些Map.Entry
对象仅在迭代期间有效; 更正式地,如果在迭代器返回条目之后修改了后备映射,则映射条目的行为是未定义的,除了通过映射条目上的setValue
操作。- 从以下版本开始:
- 1.2
- 另请参见:
-
Map.entrySet()
-
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 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()
返回一个比较值,以比例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()
返回与此条目相对应的键。- 结果
- 与此条目相对应的键
- 异常
-
IllegalStateException
- 如果条目已从后备映射中删除,则实现可能但不是必须抛出此异常。
-
getValue
V getValue()
返回与此条目相对应的值。 如果映射已从背景映射中删除(通过迭代器的remove
操作),则此调用的结果未定义。- 结果
- 与此条目对应的值
- 异常
-
IllegalStateException
- 如果条目已从后备映射中删除,则实现可能但不是必须抛出此异常。
-
setValue
V setValue(V value)
用指定的值替换与该条目相对应的值(可选操作)。 (写入地图。)如果映射已经从映射中移除(通过迭代器的remove
操作),则此调用的行为是未定义的。- 参数
-
value
- 要存储在此条目中的新值 - 结果
- 旧值对应的条目
- 异常
-
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
接口的不同实现中正常工作。- 重写:
-
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)
返回一个比较器,使用给定的Comparator
比较Map.Entry
的值。如果指定的比较器也可串行化,则返回的比较器是可序列化的。
- 参数类型
-
K
- 地图键的类型 -
V
- 地图值的类型 - 参数
-
cmp
- 值Comparator
- 结果
-
一个比较器比较
Map.Entry
的值。 - 从以下版本开始:
- 1.8
-
-