模块 java.base

类 ConcurrentHashMap.KeySetView<K,V>

java.lang.Object
java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
类型参数:
K - 键的类型
V - 支持map中值的类型
所有已实现的接口:
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
参见:
  • 方法详情

    • getMappedValue

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

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

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

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

      返回的迭代器是 弱一致

      指定者:
      iterator 在接口 Collection<K>
      指定者:
      iterator 在接口 Iterable<K>
      指定者:
      iterator 在接口 Set<K>
      返回:
      支持map键的迭代器
    • add

      public boolean add(K  e)
      通过将键映射到支持map中的默认映射值(如果已定义),将指定的键添加到此集合视图。
      指定者:
      add 在接口 Collection<K>
      指定者:
      add 在接口 Set<K>
      参数:
      e - 要添加的密钥
      返回:
      true 如果此集合因调用而更改
      抛出:
      NullPointerException - 如果指定的键为空
      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 比较中使用的信息没有被修改。从一个应用程序的一次执行到同一应用程序的另一次执行,该整数不需要保持一致。
      • 如果根据 equals 方法两个对象相等,则对这两个对象中的每一个调用 hashCode 方法必须产生相同的整数结果。
      • not 要求如果根据 equals 方法两个对象不相等,则对这两个对象中的每一个调用 hashCode 方法必须产生不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同的整数结果可能会提高哈希表的性能。
      指定者:
      hashCode 在接口 Collection<K>
      指定者:
      hashCode 在接口 Set<K>
      重写:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • equals

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

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

      • 这是反身的:对于任何非空参考值 xx.equals(x) 应该返回 true
      • 这是对称的:对于任何非空参考值 xy,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 应返回 true
      • 这是transitive:对于任何非空引用值 xyz ,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true ,那么 x.equals(z) 应该返回 true
      • 这是持续的:对于任何非空引用值 xyx.equals(y) 的多次调用一致地返回 true 或一致地返回 false ,前提是在对象的 equals 比较中使用的信息没有被修改。
      • 对于任何非空参考值 xx.equals(null) 应该返回 false

      等价关系将其操作的元素划分为等价类;等价类的所有成员彼此相等。等价类的成员可以相互替代,至少出于某些目的。

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

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

      public final void clear()
      通过从支持此视图的map中删除所有映射,从此视图中删除所有元素。
      指定者:
      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 如果此集合因调用而更改
      参见: