CopyOnWriteArrayList的使用.docxVIP

  • 4
  • 0
  • 约7.66千字
  • 约 18页
  • 2018-01-18 发布于河南
  • 举报
CopyOnWriteArrayList的使用

java.util.concurrent?类 CopyOnWriteArraySetEjava.lang.Objectjava.util.AbstractCollectionEjava.util.AbstractSetEjava.util.concurrent.CopyOnWriteArraySetE类型参数:E?- 此 collection 中所保存元素的类型所有已实现的接口:Serializable,?IterableE,?CollectionE,?SetEpublic class CopyOnWriteArraySetE extends AbstractSetE implements Serializable对其所有操作使用内部?CopyOnWriteArrayList?的?Set。因此,它共享以下相同的基本属性:它最适合于具有以下特征的应用程序:set 大小通常保持很小,只读操作远多于可变操作,需要在遍历期间防止线程间的冲突。它是线程安全的。因为通常需要复制整个基础数组,所以可变操作(add、set?和?remove?等等)的开销很大。迭代器不支持可变?remove?操作。使用迭代器进行遍历的速度很快,并且不会与其他线程发生冲突。在构造迭代器时,迭代器依赖于不变的数组快照。示例用法。?以下代码使用一个写时复制(copy-on-write)的 set,以维护在状态更新时执行某项操作的一组 Handler 对象。 class Handler { void handle(); ... } class X { private final CopyOnWriteArraySetHandler handlers = new CopyOnWriteArraySetHandler(); 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?的成员。从以下版本开始: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。?IteratorEiterator()???????????返回按照元素添加顺序在此 set 中包含的元素上进行迭代的迭代器。?booleanremove(Object?o)???????????如果指定元素存在于此 set 中,则将其移除。?booleanremoveAll(Collection??c)???????????移除此 set 中包含在指定 collection 中的所有元素。?booleanretainAll(Collection??c)???????????仅保留此 set 中那些包含在指定 collection 中的元素。?intsize()???????????返回此 set

文档评论(0)

1亿VIP精品文档

相关文档