Module  java.base
软件包  java.util.concurrent

Class ConcurrentHashMap.KeySetView<K,V>

    • 方法详细信息

      • getMappedValue

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

        public boolean contains​(Object o)
        如果此集合包含指定的元素,则返回true 更正式地说,返回true当且仅当这个集合包含至少一个元素e这样Objects.equals(o, e)
        Specified by:
        contains在接口 Collection<K>
        Specified by:
        contains在接口 Set<K>
        参数
        o - 要在此集合中存在的元素要进行测试
        结果
        true如果此集合包含指定的元素
        异常
        NullPointerException - 如果指定的键为空
      • remove

        public boolean remove​(Object o)
        从该地图视图中删除键,方法是从支持地图中删除该键(及其对应的值)。 如果键不在地图中,此方法不执行任何操作。
        Specified by:
        remove在接口 Collection<K>
        Specified by:
        remove在接口 Set<K>
        参数
        o - 从背景地图中删除的关键字
        结果
        true如果背景地图包含指定的键
        异常
        NullPointerException - 如果指定的键为空
      • add

        public boolean add​(K e)
        通过将键映射到背景映射中的默认映射值(如果已定义),将指定的键添加到此设置视图。
        Specified by:
        add在接口 Collection<K>
        Specified by:
        add接口 Set<K>
        参数
        e - 要添加的密钥
        结果
        true如果此设置由于呼叫而更改
        异常
        NullPointerException - 如果指定的键为空
        UnsupportedOperationException - 如果没有提供添加的默认映射值
      • hashCode

        public int hashCode​()
        描述从类别复制: Object
        返回对象的哈希码值。 支持这种方法是为了散列表的利益,如HashMap提供的那样

        hashCode的总合同是:

        • 无论何时在执行Java应用程序时多次在同一个对象上调用该对象,则hashCode方法必须始终返回相同的整数,前提是修改了对象中equals比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。
        • 如果根据equals(Object)方法两个对象相等,则在两个对象中的每个对象上调用hashCode方法必须产生相同的整数结果。
        • 要求如果两个对象根据Object.equals(java.lang.Object)方法不相等,则在两个对象中的每个对象上调用hashCode方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。

        尽可能多的合理实用,由类Object定义的hashCode方法确实为不同对象返回不同的整数。 (在某个时间点,hashCode可能或可能不被实现为对象的存储器地址的某些功能。)

        Specified by:
        hashCode在接口 Collection<K>
        Specified by:
        hashCode在接口 Set<K>
        重写:
        hashCodeObject
        结果
        该对象的哈希码值。
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • equals

        public boolean equals​(Object o)
        说明从类别复制: Object
        指示一些其他对象是否等于此。

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

        • 自反性 :对于任何非空的参考值xx.equals(x)应该返回true
        • 它是对称的 :对于任何非空引用值xyx.equals(y)应该返回true当且仅当y.equals(x)回报true
        • 传递性 :对于任何非空引用值xy ,并z ,如果x.equals(y)回报truey.equals(z)回报true ,然后x.equals(z)应该返回true
        • 一致 :对于任何非空参考值xyy多个调用x.equals(y)一致地返回true或始终返回false ,前提是在对象上的equals比较中未使用的信息被修改。
        • 对于任何非空的参考值xx.equals(null)应该返回false

        equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用相同对象( x == y具有值true )时,该方法返回true

        请注意,当覆盖该方法时,通常需要覆盖hashCode方法,以便维护hashCode方法的一般合同,该方法规定相等的对象必须具有相等的哈希码。

        Specified by:
        equals在接口 Collection<K>
        Specified by:
        equals在接口 Set<K>
        重写:
        equalsObject
        参数
        o - 与之比较的参考对象。
        结果
        true如果此对象与obj参数相同; false否则。
        另请参见:
        Object.hashCode()HashMap
      • forEach

        public void forEach​(Consumer<? super K> action)
        说明从接口Iterable复制
        Iterable每个元素执行给定的操作,直到所有元素都被处理或者动作引发异常。 如果指定了该顺序,则按迭代的顺序执行操作。 动作抛出的异常被转发给呼叫者。

        如果操作执行修改元素的基础源的副作用,则该方法的行为是未指定的,除非重写类已指定并发修改策略。

        Specified by:
        forEach在接口 Iterable<K>
        参数
        action - 要为每个元素执行的操作
      • getMap

        public ConcurrentHashMap<K,V> getMap​()
        返回支持此视图的地图。
        结果
        地图支持此视图
      • clear

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

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

        public final boolean isEmpty​()
        说明从界面Collection复制
        如果此集合不包含元素,则返回 true
        Specified by:
        isEmpty在接口 Collection<K>
        结果
        true如果此集合不包含元素
      • toArray

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

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

        此方法充当基于阵列和基于集合的API之间的桥梁。

        Specified by:
        toArray在接口 Collection<K>
        结果
        一个包含此集合中所有元素的数组
      • toArray

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

        如果此集合适用于指定的数组,并具有空间(即,该数组具有比此集合更多的元素),则紧跟集合结束后的数组中的元素将设置为null 当调用者知道此集合不包含任何null元素时,此方法有助于确定此集合的长度。)

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

        Collection.toArray()方法一样,此方法充当基于阵列和基于集合的API之间的桥梁。 此外,该方法允许精确地控制输出阵列的运行时类型,并且在某些情况下可以用于节省分配成本。

        假设x是一个已知只包含字符串的集合。 以下代码可用于将集合转储到新分配的String数组中:

          String[] y = x.toArray(new String[0]); 
        请注意, toArray(new Object[0])功能与toArray()相同。
        Specified by:
        toArray在接口 Collection<K>
        参数类型
        T - 包含集合的数组的运行时类型
        参数
        a - 要存储此集合的元素的数组,如果它足够大; 否则,为此目的分配相同运行时类型的新数组。
        结果
        一个包含此集合中所有元素的数组
      • toString

        public final String toString​()
        返回此集合的字符串表示形式。 字符串表示由集合的元素的字符串表示形式组成,它们由迭代器返回的顺序包含在方括号( "[]" )中。 相邻元素由字符", " (逗号和空格)分隔。 元素将转换为字符串,如String.valueOf(Object)
        重写:
        toStringObject
        结果
        此集合的字符串表示形式
      • containsAll

        public final boolean containsAll​(Collection<?> c)
        描述从接口Collection复制
        如果此集合包含指定集合中的所有元素,则返回 true
        Specified by:
        containsAll在接口 Collection<K>
        参数
        c - 要在此集合中检查遏制的集合
        结果
        true如果此集合包含指定集合中的所有元素
        另请参见:
        Collection.contains(Object)
      • removeAll

        public boolean removeAll​(Collection<?> c)
        描述从接口Collection复制
        删除指定集合中包含的所有此集合的元素(可选操作)。 此调用返回后,此集合将不包含与指定集合相同的元素。
        Specified by:
        removeAll在接口 Collection<K>
        参数
        c - 包含要从此集合中删除的元素的集合
        结果
        true如果该收集因呼叫而更改
        另请参见:
        Collection.remove(Object)Collection.contains(Object)
      • retainAll

        public final boolean retainAll​(Collection<?> c)
        描述从接口Collection复制
        仅保留此集合中包含在指定集合中的元素(可选操作)。 换句话说,从该集合中删除所有不包含在指定集合中的元素。
        Specified by:
        retainAll在接口 Collection<K>
        参数
        c - 包含要保留在此集合中的元素的集合
        结果
        true如果该收集因呼叫而更改
        另请参见:
        Collection.remove(Object), Collection.contains(Object)