javatm platform
standard ed. 6

java.util.concurrent
类 copyonwritearrayset<e>

java.lang.object 继承者 java.util.abstractcollection<e> 继承者 java.util.abstractset<e>   继承者 java.util.concurrent.copyonwritearrayset<e>
类型参数:
e - 此 collection 中所保存元素的类型
所有【all】已实现的接口:
serializable, iterable<e>, collection<e>, set<e>

public class copyonwritearrayset<e>
extends abstractset<e>
implements serializable

对其所有操作使用内部 copyonwritearraylistset。因此【 yīn cǐ】,它共享以下相同的基本属性:

示例用法。 以下代码使用一个写时复制(copy-on-write)的 set,以维护在状态更新时执行某项操作的一组 handler 对象。

 class handler { void handle(); ... } class x {  private final copyonwritearrayset<handler> handlers=new copyonwritearrayset<handler>();  public void addhandler(handler h) { handlers.add(h); }  private long internalstate;  private synchronized void changestate() { internalstate=...; }  public void update() {  changestate();  for (handler handler : handlers)  handler.handle();  } } 

此类是 java collections framework 的成员。

从以下版本开始【appeared】:
1.5
另请参见:
copyonwritearraylist,序列化表格

构造方法摘要
copyonwritearrayset()
          创建一个空 set。
copyonwritearrayset(collection<? extends e> c)
          创建一个包含指定 collection 所有元素的 set。
 
方法摘要
 booleanadd(e e)
          如果指定元素并不存在于此 set 中,则添加它。
 booleanaddall(collection<? extends e> c)
          如果此 set 中没有指定 collection 中的所有元素,则将它们都添加到此 set 中。
 voidclear()
          移除此 set 中的所有元素。
 booleancontains(object o)
          如果此 set 包含指定元素,则返回 true
 booleancontainsall(collection<?> c)
          如果此 set 包含指定 collection 的所有元素,则返回 true
 booleanequals(object o)
          比较指定对象与此 set 的相等性。
 booleanisempty()
          如果此 set 不包含任何元素,则返回 true
 iterator<e>iterator()
          返回按照元素添加顺序在此 set 中包含的元素上进行迭代的迭代器。
 booleanremove(object o)
          如果指定元素存在于此 set 中,则将其移除。
 booleanremoveall(collection<?> c)
          移除此 set 中包含在指定 collection 中的所有元素。
 booleanjs随机数retainall(collection<?> c)
          仅保留此 set 中那些包含在指定 collection 中的元素。
 intsize()
          返回此 set 中的元素数目。
 object[]toarray()
          返回一个包含此 set 所有元素的数组。
<t> t[]
toarray(t[] a)
          返回一个包含此 set 所有元素的数组;返回数组的运行时类型是指定数组的类型。
 
从类 java.util.abstractset 继承的方法
hashcode
 
从类 java.util.abstractcollection 继承的方法
tostring
 
从类 java.lang.object 继承的方法
clone, finalize, getclass, notify, notifyall, wait, wait, wait
 

构造方法详细小緂ǎn】畔

copyonwritearrayset

public copyonwritearrayset()
创建一个空 set。


copyonwritearrayset

public copyonwritearrayset(collection<? extends e> c)
创建一个包含指定 collection 所有元素的 set。

参数:
c - 最初包含元素的 collection
抛出:
nullpointerexception - 如果指定 collection 为 null
方法详细信息

size

public int size()
返回此 set 中的元素数目。

指定者:
接口 collection<e> 中的 size
指定者:
接口 set<e> 中的 size
指定者:
abstractcollection<e> 中的 size
返回:
此 set 中的元素数

isempty

public boolean isempty()
如果此 set 不包含任何元素,则返回 true

指定者:
接口 collection<e> 中的 isempty
指定者:
接口 set<e> 中的 isempty
覆盖:
abstractcollection<e> 中的 isempty
返回:
如果此 set 不包含任何元素,则返回 true

contains

public boolean contains(object o)
如果此 set 包含指定元素,则返回 true。更确切地讲,当且仅当此 set 包含满足【mǎn zú】 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true

指定者:
接口 collection<e> 中的 contains
指定者:
接口 set<e> 中的 contains
覆盖:
abstractcollection<e> 中的 contains
参数:
o - 将测试其是否存在于此 set 中的元素
返回:
如果此 set 包含指定元素,则返回 true

toarray

public object[] toarray()
返回一个包含此 set 所有元素的数组。如果此 set 对其迭代器返回的元素的顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。

不维护对返回数组的任何引用,因而它将是“安全【ān quán】的”。(换句话说,即使 set 受到数组的支持【support】,此方法也必须分配一个新的数组)。因此【 yīn cǐ】,调用这可以【can】随意修改返回的数组。

此方法充当基于数组的 api 与基于 collection 的 api 之间的桥梁。

指定者:
接口 collection<e> 中的 toarray
指定者:
接口 set<e> 中的 toarray
覆盖:
abstractcollection<e> 中的 toarray
返回:
包含此 set 所有元素的数组

这是该奖项设立90多年来(设立于1923年),首次有中国【zhōng guó】科学【Science】家在本土完成的科研成果获得殊荣
的量子力学非定域性检验;随后实现全球首次从卫星到地面的量子金钥分发和从地面到卫星的量子隐形传态的两项成果,至此圆满实现三大既定科学【Science】目标,为构建全球化量子通信网路提供可靠的技术支撑
因为关闭了闪光灯,因此首先你要找到另一个光源,有可能【would】是街上的招牌等;之后一样轻点拍摄主体,并滑动小太阳设定曝光值,之后就可进行一系列好看的街拍
根据往年经验,流感疫情会在春节【Chinese New Year】前后达到高峰,尤其今年春节【Chinese New Year】长达9天,民众外出拜年、出国或台商返乡过年,都可能【would】造成流感病毒散播
可是,若卖家只是偶尔将不需要的东西在网路上兜售,例如:有些人会在整理房间的时候【When】,将不需要的东西便宜卖掉,就不会被认定为企业【business】经营者,而只是

toarray

public <t> t[] toarray(t[] a)
返回一个包含此 set 所有元素的数组;返回数组的运行时类型是指定数组的类型。如果指定的数组能容纳该 set,则将 set 返回此处。否则,将分配一个具有指定数组的运行时类型和此 set 大小的新数组。

如果指定的数组能容纳 set,并有剩余的空间(即数组的元素比 set 多),那么会将接 set 尾部的元素设置为 null。( 当调用者知道【knew】此 set 不包含任何 null 元素时,才可使用此方法来确定此 set 的长度【 dù】。)

如果此 set 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。

toarray() 方法一样,此方法充当基于数组 的 api 与基于 collection 的 api 之间的桥梁。更进一步说,此方法允许【yǔn xǔ】对输出数组的运行时类型进行精确控制,在某些情况下,可以【can】用来节省分配开销。

假定 x 是只包含字符串的一个已知 set。以下代码用来将该 set 转储到一个新分配的 string 数组:

 string[] y=x.toarray(new string[0]);
注意【zhù yì】,toarray(new object[0])toarray() 在功能上是相同的。

指定者:
接口 collection<e> 中的 toarray
指定者:
接口 set<e> 中的 toarray
覆盖:
abstractcollection<e> 中的 toarray
参数:
存储此 - set 元素的数组(如果该数组足够大);否则为此分配一个具有相同运行时类型的新数组
返回:
包含此 set 所有元素的数组
抛出:
arraystoreexception - 如果指定数组的运行时类型不是此 set 每个元素的运行时类型的超类型
nullpointerexception - 如果指定数组为 null

clear

public void clear()
移除此 set 中的所有元素。在此调用返回之后,set 将为空。

指定者:
接口 collection<e> 中的 clear
指定者:
接口 set<e> 中的 clear
覆盖:
abstractcollection<e> 中的 clear

remove

public boolean remove(object o)
如果指定元素存在于此 set 中,则将其移除。更确切地讲,如果此 set 中包含满足【mǎn zú】 (o==null ? e==null : o.equals(e)) 的元素 e,则移除它。如果此 set 包含指定元素(或者此 set 由于【Meanwhile】调用而发生【occasionally occurred】更改),则返回 true。(调用返回后,则此 set 便不再包含这样【then】的元素。)

指定者:
接口 collection<e> 中的 remove
指定者:
接口 set<e> 中的 remove
覆盖:
abstractcollection<e> 中的 remove
参数:
o - 要从此 set 移除的对象(如果存在)
返回:
如果此 set 包含指定元素,则返回 true

add

public boolean add(e e)
如果指定元素并不存在于此 set 中,则添加它。更确切地讲,如果此 set 不包含满足 (e==null ? e2==null : e.equals(e2)) 的元素 e2,则将指定元素 e 添加到此 set 中。如果此 set 已经【yǐ jing】包含这样【then】的元素,则该调用不改变此 set 并返回 false

指定者:
接口 collection<e> 中的 add
指定者:
接口 set<e> 中的 add
覆盖:
abstractcollection<e> 中的 add
参数:
e - 要添加到此 set 的元素
返回:
如果此 set 并未包含指定元素,则返回 true

containsall

public boolean containsall(collection<?> c)
如果此 set 包含指定 collection 的所有元素,则返回 true。如果指定的 collection 也是一个 set,那么当该 collection 是此 set 的子集 时,此方法返回 true

指定者:
接口 collection<e> 中的 containsall
指定者:
接口 set<e> 中的 containsall
覆盖:
abstractcollection<e> 中的 containsall
参数:
c - 将被检查是否存在于此 set 的 collection
返回:
如果此 set 包含指定 collection 的所有元素,则返回 true
抛出:
nullpointerexception - 如果指定 collection 为 null
另请参见:
contains(object)

addall

public boolean addall(collection<? extends e> c)
如果此 set 中没有指定 collection 中的所有元素,则将它们都添加到此 set 中。如果指定的 collection 也是一个 set,则 addall 操作会实际修改此 set,从而它的值是两个 set 的一个并集。如果指定 collection 在操作过程中被修改,则此操作的行为是不确定的。

指定者:
接口 collection<e> 中的 addall
指定者:
接口 set<e> 中的 addall
覆盖:
abstractcollection<e> 中的 addall
参数:
c - 包含将添加到此 set 中的元素的 collection
返回:
如果此 set 由于【Meanwhile】调用而发生更改,则返回 true
抛出:
nullpointerexception - 如果指定 collection 为 null
另请参见:
add(object)

removeall

public boolean removeall(collection<?> c)
移除此 set 中包含在指定 collection 中的所有元素。如果指定的 collection 也是一个 set,则此操作会实际修改此 set,从而其值是两个 set 的一个不对称差集

指定者:
接口 collectionjs随机数<e> 中的 removeall
指定者:
接口 set<e> 中的 removeall
覆盖:
abstractset<e> 中的 removeall
参数:
c - 包含将从此 set 中移除的元素的 collection
返回:
如果此 set 由于调用而发生更改,则返回 true
抛出:
classcastexception - 如果此 set 的元素的类与指定 collection 不兼容(可选)
nullpointerexception - 如果此 set 包含一个 null 元素并且指定 collection 不允许【yǔn xǔ】使用 null 元素(可选),或者指定 collection 为 null
另请参见:
remove(object)

retainall

public boolean retainall(collection<?> c)
仅保留此 set 中那些包含在指定 collection 中的元素。换句话说,移除此 set 中所有未包含在指定 collection 中的元素。如果指定的 collection 也是一个 set,则此操作会实际修改此 set,这样其值是两个 set 的一个交集

指定者:
接口 collection<e> 中的 retainall
指定者:网站地图 手机端
接口 set<e> 中的 retainall
覆盖:
abstractcollection<e> 中的 retainall
参数:
c - 包含保留在此 set 中的元素的 collection
返回:
如果此 set 由于调用而发生更改,则返回 true
抛出:
classcastexception - 如果此 set 的元素的类与指定 collection 不兼容(可选)
nullpointerexception - 如果此 set 包含一个 null 元素并且指定 collection 不允许使用 null 元素(可选),或者指定 collection 为 null
另请参见:
remove(object)

iterator

public iterator<e> iterator()
返回按照元素添加顺序在此 set 中包含的元素上进行迭代的迭代器。

在构造迭代器时,返回的迭代器提供该 set 的状态的快照。在遍历迭代器时无需同步。该迭代器 支持 remove 方法。

指定者:
接口 iterable<e> 中的 iterator
指定者:
接口 collection<e> 中的 iterator
指定者:
接口 set<e> 中的 iterator
指定者:
abstractcollection<e> 中的 iterator
返回:
在此 set 中的元素上进行迭代的迭代器

equals

public boolean equals(object o)
比较指定对象与此 set 的相等性。如果指定对象与此对象是同一对象,则返回 true,如果它也是一个 set 并且在指定 set 上迭代的迭代器所返回的元素序列与在此 set 上进行迭代迭代器所返回的元素的序列相同。更确切地讲,如果两个迭代器返回相同的元素数,并且对于在指定 set 上进行迭代的迭代器返回的每个元素 e1 而言,都有一个由在此 set 上进行迭代的迭代器返回的元素 e2,且该元素满足 (e1==null ? e2==null : e1.equals(e2)),则认为两个迭代器将返回相同的元素。

指定者:
接口 collection<e> 中的 equals
指定者:
接口 set<e> 中的 equals
覆盖:
abstractset<e> 中的 equals
参数:
o - 将与此 set 进行相等性比较的对象
返回:
如果指定的对象与此 set 相等,则返回 true
另请参见:
object.hashcode(),hashtable

javatm platform
standard ed. 6

提交错误或意见【yì jian】
有关更多的 api 参考资料和开发【developing】人员文档,请参阅 java se 开发【developing】人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作【work】代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策