Module java.base
Package java.util

Class AbstractMap.SimpleImmutableEntry<K,V>

java.lang.Object
java.util.AbstractMap.SimpleImmutableEntry<K,V>
类型参数:
K - 键的类型
V - 值的类型
所有已实现的接口:
Serializable, Map.Entry<K,V>
封装类:
AbstractMap<K,V>

public static class AbstractMap.SimpleImmutableEntry<K,V> extends Object implements Map.Entry<K,V>, Serializable
一个维护键和值的不可修改的条目。此类不支持setValue方法。此类的实例既不与任何映射相关,也不与任何映射的条目集视图相关联。
API 注释:
此类的实例不一定是不可变的,因为键和值可能是可变的。此特定类的实例是不可修改的,因为键和值引用不能更改。此类型的引用可能不是不可修改的,因为子类可能是可修改的或可能提供可修改性的外观。

此类可能在返回键-值映射的线程安全快照的方法中很方便。有关替代方案,请参阅Map::entryMap.Entry::copyOf方法。

自版本:
1.6
另请参阅:
  • Constructor Summary

    Constructors
    Constructor
    Description
    SimpleImmutableEntry(Map.Entry<? extends K,? extends V> entry)
    创建表示与指定条目相同映射的条目。
    SimpleImmutableEntry(K key, V value)
    创建表示从指定键到指定值的映射的条目。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    比较指定对象与此条目是否相等。
    K
    getKey()
    返回与此条目对应的键。
    V
    返回与此条目对应的值。
    int
    返回此映射条目的哈希码值。
    V
    setValue(V value)
    用指定值替换与此条目对应的值(可选操作)。
    返回此映射条目的字符串表示形式。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SimpleImmutableEntry

      public SimpleImmutableEntry(K key, V value)
      创建表示从指定键到指定值的映射的条目。
      参数:
      key - 此条目表示的键
      value - 此条目表示的值
    • SimpleImmutableEntry

      public SimpleImmutableEntry(Map.Entry<? extends K,? extends V> entry)
      创建表示与指定条目相同映射的条目。
      参数:
      entry - 要复制的条目
  • Method Details

    • getKey

      public K getKey()
      返回与此条目对应的键。
      指定者:
      getKey 在接口 Map.Entry<K,V>
      返回:
      与此条目对应的键
    • getValue

      public V getValue()
      返回与此条目对应的值。
      指定者:
      getValue 在接口 Map.Entry<K,V>
      返回:
      与此条目对应的值
    • setValue

      public V setValue(V value)
      用指定值替换与此条目对应的值(可选操作)。此实现简单地抛出UnsupportedOperationException,因为此类实现了不可修改的映射条目。
      指定者:
      setValue 在接口 Map.Entry<K,V>
      实现要求:
      此类中的实现始终抛出UnsupportedOperationException
      参数:
      value - 要存储在此条目中的新值
      返回:
      (不返回)
      抛出:
      UnsupportedOperationException - 总是
    • equals

      public boolean equals(Object o)
      比较指定对象与此条目是否相等。如果给定对象也是映射条目,并且两个条目表示相同的映射,则返回true。更正式地,两个条目e1e2表示相同的映射,如果
         (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 在接口 Map.Entry<K,V>
      覆盖:
      equals 在类 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)意味着对于任何两个条目e1e2e1.hashCode()==e2.hashCode(),这是Object.hashCode()的一般契约要求。
      指定者:
      hashCode 在接口 Map.Entry<K,V>
      覆盖:
      hashCode 在类 Object
      返回:
      此映射条目的哈希码值
      另请参阅:
    • toString

      public String toString()
      返回此映射条目的字符串表示形式。此实现返回此条目键的字符串表示形式,后跟等号字符("="),后跟此条目值的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此映射条目的字符串表示形式