E
-元素这一套保持型
public class ConcurrentSkipListSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
NavigableSet
实现基于
ConcurrentSkipListMap
。集合中的元素都根据自己的
natural ordering排序,或由
Comparator
在设定的创作时间,这取决于使用哪个构造函数。
实现了预期的平均日志(n)的时间成本的contains
,add
,和remove
操作及其变体。插入、移除和访问操作同时安全地执行多个线程。
迭代器和spliterators是weakly consistent。
上升有序视图和它们的迭代器比下降的速度更快。
要小心的是,不像大多数集合的方法,size
不是常量时间的操作。由于这些集合的异步性,确定当前元素的数量需要一个元素的遍历,如果这个集合在遍历过程中被修改,那么可能会报告不准确的结果。此外,大容量操作addAll
,removeAll
,retainAll
,containsAll
,equals
,和toArray
不保证是自动执行。例如,一个addAll
并发运行的操作一个迭代器可能会认为只有一些加入的元素。
这个类和它的迭代器实现所有的可选方法的Set
和Iterator
接口。像大多数其他并行采集的实现,这类不允许null
元素的使用,因为null
参数和返回值无法可靠区分元素的缺失。
这个班的一员 Java Collections Framework。
Constructor and Description |
---|
ConcurrentSkipListSet()
构建了一个新的、空的集合,其元素根据其
natural ordering订单。
|
ConcurrentSkipListSet(Collection<? extends E> c)
建立了一套新的含有指定集合中的元素,其元素,根据自己的
natural ordering订单。
|
ConcurrentSkipListSet(Comparator<? super E> comparator)
构造一个新的、空的集合,它根据指定的比较器来命令它的元素。
|
ConcurrentSkipListSet(SortedSet<E> s)
构造一个包含相同元素的新集合,并使用相同的排序作为指定的排序集。
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(E e)
如果没有已存在,则将指定的元素添加到该集合中。
|
E |
ceiling(E e)
返回最小的元素在这组大于或等于给定的元素,或
null 如果没有这样的元素。
|
void |
clear()
从这个集合中移除所有的元素。
|
ConcurrentSkipListSet<E> |
clone()
返回该
ConcurrentSkipListSet 实例浅拷贝。
|
Comparator<? super E> |
comparator()
返回用于命令set中元素的比较,或
null如果使用此设置元素的
natural ordering。
|
boolean |
contains(Object o)
如果这套
true 返回包含指定的元素。
|
Iterator<E> |
descendingIterator()
在这个集合中的元素上返回一个迭代器。
|
NavigableSet<E> |
descendingSet()
返回此集合中包含的元素的反向顺序视图。
|
boolean |
equals(Object o)
将指定的对象与此设置的相等性进行比较。
|
E |
first()
返回当前在该集合中的第一个(最低的)元素。
|
E |
floor(E e)
返回最大的元素在这组小于或等于给定的元素,或
null 如果没有这样的元素。
|
NavigableSet<E> |
headSet(E toElement)
返回从这个集合的元素是严格小于
toElement部分。
|
NavigableSet<E> |
headSet(E toElement, boolean inclusive)
返回从这个集合的元素都小于(或等于部分,如果
inclusive 是真的)
toElement 。
|
E |
higher(E e)
返回最小的元素在这套严格大于给定的元素,或
null 如果没有这样的元素。
|
boolean |
isEmpty()
返回
true 如果这个集合不包含元素。
|
Iterator<E> |
iterator()
在这个集合中的元素上返回一个迭代器。
|
E |
last()
返回当前在该集合中的最后(最高)元素。
|
E |
lower(E e)
返回最大的元素在这套严格小于给定的元素,或
null 如果没有这样的元素。
|
E |
pollFirst()
检索并移除第一(最低)的元素,或返回
null 如果这集是空的。
|
E |
pollLast()
检索和删除最后(最高)的元素,或返回
null 如果这集是空的。
|
boolean |
remove(Object o)
如果当前存在,则从该集合中移除指定的元素。
|
boolean |
removeAll(Collection<?> c)
从这个集合中移除包含在指定集合中的所有元素。
|
int |
size()
返回此集合中的元素的数目。
|
Spliterator<E> |
spliterator()
返回在这集的元素个
Spliterator 。
|
NavigableSet<E> |
subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
返回从这个集合的元素范围从
fromElement 到
toElement 部分。
|
NavigableSet<E> |
subSet(E fromElement, E toElement)
返回从这个集合的元素范围从
fromElement,包容的部分
toElement,独家。
|
NavigableSet<E> |
tailSet(E fromElement)
返回从这个集合的元素都大于或等于
fromElement部分。
|
NavigableSet<E> |
tailSet(E fromElement, boolean inclusive)
返回从这个集合的元素大于部分(或相等,如果
inclusive 是真的)
fromElement 。
|
hashCode
addAll, containsAll, retainAll, toArray, toArray, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
addAll, containsAll, hashCode, retainAll, toArray, toArray
parallelStream, removeIf, stream
public ConcurrentSkipListSet()
public ConcurrentSkipListSet(Comparator<? super E> comparator)
comparator
-比较器将用于订购这套。如果
null
,元素的
natural ordering将使用。
public ConcurrentSkipListSet(Collection<? extends E> c)
c
的元素,包括新的设置
ClassCastException
-如果
c
元素不是
Comparable
,或互不可比
NullPointerException
-如果指定集合或其任何元素都是空的
public ConcurrentSkipListSet(SortedSet<E> s)
s
分类集合的元素将包括新的设置
NullPointerException
-如果指定的排序集或其任何元素都是空的
public ConcurrentSkipListSet<E> clone()
ConcurrentSkipListSet
实例浅拷贝。(这些元素本身没有被克隆。)
public int size()
Integer.MAX_VALUE
元素,则返回
Integer.MAX_VALUE
。
请注意,与大多数集合不同,此方法不是一个常数时间操作。由于这些集合的异步性,确定当前元素的数量需要遍历它们来计算它们。此外,它是可能的大小在执行过程中的这种方法的变化,在这种情况下,返回的结果将是不准确的。因此,这种方法通常是不是非常有用的并发应用程序。
size
接口
Collection<E>
size
接口
Set<E>
size
方法重写,继承类
AbstractCollection<E>
public boolean isEmpty()
true
如果这个集合不包含元素。
isEmpty
接口
Collection<E>
isEmpty
接口
Set<E>
isEmpty
方法重写,继承类
AbstractCollection<E>
true
如果这个集合不包含元素
public boolean contains(Object o)
true
返回包含指定的元素。更正式地说,返回
true
当且仅当本集包含一个元素
e
这样
o.equals(e)
。
contains
接口
Collection<E>
contains
接口
Set<E>
contains
方法重写,继承类
AbstractCollection<E>
o
对象要检查这套壳
true
包含指定的元素
ClassCastException
如果不能指定元素,是目前在这个集合中的元素进行比较
NullPointerException
-如果指定元素为null
public boolean add(E e)
e
这套如果集合不包含元素
e2
这样
e.equals(e2)
。如果这一套已经包含元素,电话离开设定不变,返回
false
。
add
接口
Collection<E>
add
接口
Set<E>
add
方法重写,继承类
AbstractCollection<E>
e
元素被添加到这个组
true
已经不包含指定的元素
ClassCastException
-如果
e
不能与目前在这个集合中的元素进行比较
NullPointerException
-如果指定元素为null
public boolean remove(Object o)
e
这样
o.equals(e)
,如果这个集合包含的元素。返回
true
如果这组包含的元素(或等价的,如果调用的结果这套改)。(此设置将不包含调用返回的元素。)
remove
接口
Collection<E>
remove
接口
Set<E>
remove
方法重写,继承类
AbstractCollection<E>
o
对象要从组中删除,如果存在
true
包含指定元素
ClassCastException
-如果
o
不能与目前在这个集合中的元素进行比较
NullPointerException
-如果指定元素为null
public void clear()
clear
接口
Collection<E>
clear
接口
Set<E>
clear
方法重写,继承类
AbstractCollection<E>
public Iterator<E> iterator()
iterator
接口
Iterable<E>
iterator
接口
Collection<E>
iterator
接口
NavigableSet<E>
iterator
接口
Set<E>
iterator
方法重写,继承类
AbstractCollection<E>
public Iterator<E> descendingIterator()
descendingIterator
接口
NavigableSet<E>
public boolean equals(Object o)
true
指定对象是否是一组,两组有相同的大小,和指定的每一个成员都包含在这套(或等价的,这一集的每一个成员都包含在指定的设置)。这个定义确保了在不同的设置接口的不同实现中的相等的方法工作。
equals
接口
Collection<E>
equals
接口
Set<E>
equals
方法重写,继承类
AbstractSet<E>
o
要比较这一套平等的对象
true
指定对象是否等于这套
Object.hashCode()
,
HashMap
public boolean removeAll(Collection<?> c)
removeAll
接口
Collection<E>
removeAll
接口
Set<E>
removeAll
方法重写,继承类
AbstractSet<E>
c
收集包含元素要从集合中移除
true
如果调用的结果这一套了
ClassCastException
-如果在这设置一个或多个元素的类型与指定集合不相容
NullPointerException
-如果指定集合或其任何元素都是空的
AbstractCollection.remove(Object)
,
AbstractCollection.contains(Object)
public E lower(E e)
NavigableSet
null
如果没有这样的元素。
lower
接口
NavigableSet<E>
e
的价值相匹配
e
,或
null
如果没有这样的元素
ClassCastException
如果不能指定元素与当前集合中的元素相比
NullPointerException
-如果指定元素为null
public E floor(E e)
NavigableSet
null
如果没有这样的元素。
floor
接口
NavigableSet<E>
e
的价值相匹配
e
,或
null
如果没有这样的元素
ClassCastException
如果不能指定元素与当前集合中的元素相比
NullPointerException
-如果指定元素为null
public E ceiling(E e)
NavigableSet
null
如果没有这样的元素。
ceiling
接口
NavigableSet<E>
e
的价值相匹配
e
最小元素,或
null
如果没有这样的元素
ClassCastException
如果不能指定元素与当前集合中的元素相比
NullPointerException
-如果指定元素为null
public E higher(E e)
NavigableSet
null
如果没有这样的元素。
higher
接口
NavigableSet<E>
e
的价值相匹配
e
最小元素,或
null
如果没有这样的元素
ClassCastException
如果不能指定元素与当前集合中的元素相比
NullPointerException
-如果指定元素为null
public E pollFirst()
NavigableSet
null
如果这集是空的。
pollFirst
接口
NavigableSet<E>
null
如果这集是空的
public E pollLast()
NavigableSet
null
如果这集是空的。
pollLast
接口
NavigableSet<E>
null
如果这集是空的
public Comparator<? super E> comparator()
SortedSet
comparator
接口
SortedSet<E>
public E first()
SortedSet
first
接口
SortedSet<E>
NoSuchElementException
-如果这集是空的
public E last()
SortedSet
last
接口
SortedSet<E>
NoSuchElementException
-如果这集是空的
public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSet
fromElement
到
toElement
部分。如果
fromElement
和
toElement
相等,返回的集合是空的,除非
fromInclusive
toInclusive
都是真实的。返回的集合是由这组支持的,所以返回的集合的变化反映在这个集合中,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException
。
subSet
接口
NavigableSet<E>
fromElement
-返回设置低端点
fromInclusive
-
true
如果低的终点是被包含在返回的视图
toElement
-返回集合点
toInclusive
-
true
如果高终点是被包含在返回的视图
fromElement
,包容的部分
toElement
,独家
ClassCastException
-如果
fromElement
和
toElement
无法相比的另一个使用这个设置的比较器(或者,如果无比较器,采用自然排序)。实现可能,但不是必需的,如果
fromElement
或
toElement
不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
fromElement
或
toElement
是空的
IllegalArgumentException
-如果
fromElement
大于
toElement
;或者如果这集本身有一个限制的范围内,和
fromElement
或
toElement
超出范围的界限。
public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSet
inclusive
是真的)
toElement
。返回的集合是由这组的支持,所以在返回的集合的变化反映在这集,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException
。
headSet
接口
NavigableSet<E>
toElement
-返回集合点
inclusive
-
true
如果高终点是被包含在返回的视图
inclusive
是真的)
toElement
ClassCastException
-如果
toElement
不是这集的比较器(或兼容,如果设置没有比较,如果
toElement
不实现
Comparable
)。实现可能,但不是必需的,如果
toElement
不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
toElement
是空的
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
toElement
超出范围的界限
public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSet
inclusive
是真的)
fromElement
。返回的集合是由这组支持的,所以返回的集合的变化反映在这个集合中,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException
。
tailSet
接口
NavigableSet<E>
fromElement
-返回设置低端点
inclusive
-
true
如果低的终点是被包含在返回的视图
fromElement
部分
ClassCastException
-如果
fromElement
不是这集的比较器(或兼容,如果设置没有比较,如果
fromElement
不实现
Comparable
)。实现可能,但不是必需的,如果
fromElement
不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
fromElement
是空的
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
fromElement
超出范围的界限
public NavigableSet<E> subSet(E fromElement, E toElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于subSet(fromElement, true, toElement, false)
。
subSet
接口
NavigableSet<E>
subSet
接口
SortedSet<E>
fromElement
低端点(含)返回的集合的
toElement
高端点(独家)返回的集合的
ClassCastException
-如果
fromElement和
toElement无法相比的另一个使用这个设置的比较器(或者,如果无比较器,采用自然排序)。实现可能,但不是必需的,如果
fromElement或
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
fromElement
或
toElement
是空的
IllegalArgumentException
-如果
fromElement大于
toElement;或者如果这集本身有一个限制的范围内,和
fromElement或
toElement超出范围的界限
public NavigableSet<E> headSet(E toElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于headSet(toElement, false)
。
headSet
接口
NavigableSet<E>
headSet
接口
SortedSet<E>
toElement
高端点(独家)返回的集合的
ClassCastException
-如果
toElement不是这集的比较器(或兼容,如果设置没有比较,如果
toElement不实现
Comparable
)。实现可能,但不是必需的,如果
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
toElement
是空的
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
toElement超出范围的界限
public NavigableSet<E> tailSet(E fromElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于tailSet(fromElement, true)
。
tailSet
接口
NavigableSet<E>
tailSet
接口
SortedSet<E>
fromElement
低端点(含)返回的集合的
ClassCastException
-如果
fromElement不是这集的比较器(或兼容,如果设置没有比较,如果
fromElement不实现
Comparable
)。实现可能,但不是必需的,如果
fromElement不能相比,目前在集合元素抛出该异常。
NullPointerException
-如果
fromElement
是空的
IllegalArgumentException
-如果这套本身有一个限制的范围内,和
fromElement超出范围的界限
public NavigableSet<E> descendingSet()
返回的集合具有订购相当于Collections.reverseOrder
(comparator())
。表达s.descendingSet().descendingSet()
返回从s
本质上相当于s
。
descendingSet
接口
NavigableSet<E>
public Spliterator<E> spliterator()
Spliterator
。
报告的Spliterator
Spliterator.CONCURRENT
,Spliterator.NONNULL
,Spliterator.DISTINCT
,Spliterator.SORTED
和Spliterator.ORDERED
,一遇到命令是升序。重写实现应记录附加特征值的报告。
的spliterator的比较器(见Spliterator.getComparator()
)是null
如果设定的比较(见comparator()
)是null
。否则,该spliterator的比较器相同或施加相同的总排序为集的比较。
spliterator
接口
Iterable<E>
spliterator
接口
Collection<E>
spliterator
接口
Set<E>
spliterator
接口
SortedSet<E>
Spliterator
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.