模块  java.base
软件包  java.util

Interface Map.Entry<K,​V>

  • 所有已知实现类:
    AbstractMap.SimpleEntryAbstractMap.SimpleImmutableEntry
    Enclosing interface:
    Map < K ,â€< V >

    public static interface Map.Entry<K,​V>
    映射条目(键值对)。 Map.entrySet方法返回地图的集合视图,其元素属于此类。 获取对映射条目的引用的唯一方法是来自此collection-view的迭代器。 这些Map.Entry对象在迭代期间有效; 更正式地说,如果在迭代器返回条目后修改了支持映射,则映射条目的行为是未定义的,除非通过映射条目上的setValue操作。
    从以下版本开始:
    1.2
    另请参见:
    Map.entrySet()
    • 方法详细信息

      • 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 ,并且这两个条目表示相同的映射。 更正式地说,两个条目e1e2表示相同的映射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()对于任何两个条目e1e2 ,根据e2的一般合同的Object.hashCode
        重写:
        hashCodeObject
        结果
        此映射条目的哈希码值
        另请参见:
        Object.hashCode()Object.equals(Object)equals(Object)
      • 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