Module java.base

Class ConcurrentHashMap.KeySetView<K,V>

java.lang.Object
java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
类型参数:
K - 键的类型
V - 后备映射中值的类型
所有已实现的接口:
Serializable, Iterable<K>, Collection<K>, Set<K>
封装类:
ConcurrentHashMap<K,V>

public static final class ConcurrentHashMap.KeySetView<K,V> extends Object implements Set<K>, Serializable
将ConcurrentHashMap视为键的Set,可以通过将键映射到公共值来选择性地启用添加。此类不能直接实例化。请参见keySet()keySet(V)newKeySet()newKeySet(int)
自版本:
1.8
另请参阅:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add(K e)
    通过将指定键映射到后备映射中的默认映射值,将指定键添加到此集视图。
    boolean
    addAll(Collection<? extends K> c)
    将指定集合中的所有元素添加到此集合中,就好像对每个元素调用add(K)一样。
    final void
    clear()
    通过从支持此视图的映射中删除所有映射,从而删除此视图中的所有元素。
    boolean
    如果此集合包含指定的元素,则返回true
    final boolean
    如果此集合包含指定集合中的所有元素,则返回true
    boolean
    指示某个其他对象是否与此对象“相等”。
    getMap()
    返回支持此视图的映射。
    V
    返回用于添加的默认映射值,如果不支持添加,则返回null
    int
    返回对象的哈希码值。
    final boolean
    如果此集合不包含任何元素,则返回true
    返回此集合中元素的迭代器。
    boolean
    通过从支持此视图的映射中删除键(及其对应的值)来从此映射视图中删除键。
    boolean
    删除此集合中同时包含在指定集合中的所有元素(可选操作)。
    final boolean
    仅保留此集合中包含在指定集合中的元素(可选操作)。
    final int
    size()
    返回此集合中的元素数量。
    final Object[]
    返回包含此集合中所有元素的数组。
    final <T> T[]
    toArray(T[] a)
    返回包含此集合中所有元素的数组;返回数组的运行时类型与指定数组的类型相同。
    final String
    返回此集合的字符串表示形式。

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods declared in interface java.util.Collection

    parallelStream, removeIf, stream, toArray

    Methods declared in interface java.lang.Iterable

    forEach

    Methods declared in interface java.util.Set

    clear, containsAll, isEmpty, removeAll, retainAll, size, spliterator, toArray, toArray
  • Method Details

    • getMappedValue

      public V getMappedValue()
      返回用于添加的默认映射值,如果不支持添加,则返回null
      返回:
      用于添加的默认映射值,如果不支持则返回null
    • contains

      public boolean contains(Object o)
      如果此集合包含指定元素,则返回true。更正式地说,如果此集合包含至少一个元素e,使得Objects.equals(o, e),则返回true
      指定者:
      contains 在接口 Collection<K>
      指定者:
      contains 在接口 Set<K>
      参数:
      o - 要测试其在此集合中是否存在的元素
      返回:
      如果此集合包含指定元素,则返回true
      抛出:
      NullPointerException - 如果指定的键为null
    • remove

      public boolean remove(Object o)
      通过从支持此视图的映射中删除键(及其对应的值)来从此映射视图中删除键。如果键不在映射中,则此方法不执行任何操作。
      指定者:
      remove 在接口 Collection<K>
      指定者:
      remove 在接口 Set<K>
      参数:
      o - 要从后备映射中删除的键
      返回:
      如果后备映射包含指定键,则返回true
      抛出:
      NullPointerException - 如果指定的键为null
    • iterator

      public Iterator<K> iterator()
      返回此集合中元素的迭代器。

      返回的迭代器是弱一致的

      指定者:
      iterator 在接口 Collection<K>
      指定者:
      iterator 在接口 Iterable<K>
      指定者:
      iterator 在接口 Set<K>
      返回:
      后备映射的键的迭代器
    • add

      public boolean add(K e)
      通过将指定键映射到后备映射中的默认映射值,将指定键添加到此集视图。
      指定者:
      add 在接口 Collection<K>
      指定者:
      add 在接口 Set<K>
      参数:
      e - 要添加的键
      返回:
      如果调用结果导致此集合更改,则返回true
      抛出:
      NullPointerException - 如果指定的键为null
      UnsupportedOperationException - 如果未提供用于添加的默认映射值
    • addAll

      public boolean addAll(Collection<? extends K> c)
      将指定集合中的所有元素添加到此集合中,就好像对每个元素调用add(K)一样。
      指定者:
      addAll 在接口 Collection<K>
      指定者:
      addAll 在接口 Set<K>
      参数:
      c - 要插入此集合的元素
      返回:
      如果调用结果导致此集合更改,则返回true
      抛出:
      NullPointerException - 如果集合或其任何元素为null
      UnsupportedOperationException - 如果未提供用于添加的默认映射值
      另请参阅:
    • hashCode

      public int hashCode()
      从类中复制的描述: Object
      返回对象的哈希码值。此方法支持哈希表(如由 HashMap 提供的那些)的好处。

      hashCode 的一般合同是:

      • 在 Java 应用程序的执行过程中,如果对同一对象多次调用 hashCode 方法,则只要在对象的 equals 比较中使用的信息未被修改,hashCode 方法必须始终返回相同的整数。这个整数不需要在应用程序的一个执行到另一个执行之间保持一致。
      • 如果两个对象根据 equals 方法是相等的,则在这两个对象上调用 hashCode 方法必须产生相同的整数结果。
      • 如果根据 equals 方法两个对象不相等,则不要求在这两个对象上调用 hashCode 方法必须产生不同的整数结果。但是,程序员应该意识到,对于不相等的对象产生不同的整数结果可能会提高哈希表的性能。
      指定者:
      hashCode 在接口 Collection<K>
      指定者:
      hashCode 在接口 Set<K>
      覆盖:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • equals

      public boolean equals(Object o)
      从类中复制的描述: Object
      指示某个其他对象是否与此对象“相等”。

      equals 方法在非空对象引用上实现等价关系:

      • 它是自反的:对于任何非空引用值 xx.equals(x) 应该返回 true
      • 它是对称的:对于任何非空引用值 xy,如果 x.equals(y) 返回 true,则只有当 y.equals(x) 返回 true 时,x.equals(y) 才应该返回 true
      • 它是传递的:对于任何非空引用值 xyz,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应该返回 true
      • 它是一致的:对于任何非空引用值 xy,多次调用 x.equals(y) 必须一致地返回 true 或一致地返回 false,前提是在对象的 equals 比较中使用的信息未被修改。
      • 对于任何非空引用值 xx.equals(null) 应该返回 false

      等价关系将其操作的元素划分为等价类;等价类的所有成员彼此相等。等价类的成员可以互换使用,至少对于某些目的而言是这样。

      指定者:
      equals 在接口 Collection<K>
      指定者:
      equals 在接口 Set<K>
      覆盖:
      equals 在类 Object
      参数:
      o - 用于比较的参考对象。
      返回:
      如果此对象与 obj 参数相同,则返回 true;否则返回 false
      参见:
    • getMap

      public ConcurrentHashMap<K,V> getMap()
      返回支持此视图的映射。
      返回:
      支持此视图的映射
    • clear

      public final void clear()
      从此视图中删除所有元素,通过从支持此视图的映射中删除所有映射。
      指定者:
      clear 在接口 Collection<K>
    • size

      public final int size()
      从接口中复制的描述: Collection
      返回此集合中的元素数。如果此集合包含的元素数超过 Integer.MAX_VALUE,则返回 Integer.MAX_VALUE
      指定者:
      size 在接口 Collection<K>
      返回:
      此集合中的元素数
    • isEmpty

      public final boolean isEmpty()
      从接口中复制的描述: Collection
      如果此集合不包含任何元素,则返回 true
      指定者:
      isEmpty 在接口 Collection<K>
      返回:
      如果此集合不包含任何元素,则返回 true
    • toArray

      public final Object[] toArray()
      从接口中复制的描述: Collection
      返回一个包含此集合中所有元素的数组。如果此集合对其元素由其迭代器返回的顺序有任何保证,则此方法必须以相同顺序返回元素。返回的数组的运行时组件类型Object

      返回的数组将是“安全的”,即此集合不会保留对其的任何引用。(换句话说,即使此集合由数组支持,此方法也必须分配一个新数组)。因此,调用者可以自由修改返回的数组。

      指定者:
      toArray 在接口 Collection<K>
      返回:
      一个数组,其运行时组件类型Object,包含此集合中的所有元素
    • toArray

      public final <T> T[] toArray(T[] a)
      从接口中复制的描述: Collection
      返回一个包含此集合中所有元素的数组;返回数组的运行时类型与指定数组的类型相同。如果集合适合于指定数组,则将其返回。否则,将使用指定数组的运行时类型和此集合的大小分配一个新数组。

      如果此集合适合于指定数组并有多余空间(即,数组的元素多于此集合的元素),则紧接在集合末尾的数组元素设置为 null。(仅当调用者知道此集合不包含任何 null 元素时,这对于确定此集合的长度非常有用。)

      如果此集合对其元素由其迭代器返回的顺序有任何保证,则此方法必须以相同顺序返回元素。

      指定者:
      toArray 在接口 Collection<K>
      类型参数:
      T - 包含集合的数组的组件类型
      参数:
      a - 要存储此集合元素的数组,如果足够大;否则,将为此目的分配相同运行时类型的新数组。
      返回:
      包含此集合中所有元素的数组
    • toString

      public final String toString()
      返回此集合的字符串表示形式。字符串表示形式由集合的元素的字符串表示形式组成,这些元素按其迭代器返回的顺序排列,用方括号("[]")括起来。相邻元素由字符 ", "(逗号和空格)分隔。元素将被转换为字符串,如同通过 String.valueOf(Object) 进行的那样。
      覆盖:
      toString 在类 Object
      返回:
      此集合的字符串表示形式
    • containsAll

      public final boolean containsAll(Collection<?> c)
      从接口中复制的描述: Collection
      返回true如果此集合包含指定集合中的所有元素。
      指定者:
      containsAll 在接口 Collection<K>
      参数:
      c - 要检查是否包含在此集合中的集合
      返回:
      true如果此集合包含指定集合中的所有元素
      参见:
    • removeAll

      public boolean removeAll(Collection<?> c)
      从接口复制的描述: Collection
      移除此集合中也包含在指定集合中的所有元素(可选操作)。调用返回后,此集合将不包含与指定集合中相同的任何元素。
      指定者:
      removeAll 在接口 Collection<K>
      参数:
      c - 包含要从此集合中移除的元素的集合
      返回:
      true如果此集合因调用而更改
      参见:
    • retainAll

      public final boolean retainAll(Collection<?> c)
      从接口复制的描述: Collection
      仅保留此集合中包含在指定集合中的元素(可选操作)。换句话说,从此集合中移除所有不包含在指定集合中的元素。
      指定者:
      retainAll 在接口 Collection<K>
      参数:
      c - 包含要在此集合中保留的元素的集合
      返回:
      true如果此集合因调用而更改
      参见: