在Java中寻找ConcurrentHashSet吗?
分类:
Java
2011-05-11 09:37
269人阅读
评论(0)
收藏
举报
方法一:Collections.newSetFromMap(new ConcurrentHashMap<Object,Boolean>())
方法二:(引用自Apache Mina,位置org.apache.mina.util.ConcurrentHashSet)
- packageorg.apache.mina.util;
- importjava.util.Collection;
- importjava.util.Set;
- importjava.util.concurrent.ConcurrentHashMap;
- importjava.util.concurrent.ConcurrentMap;
- /**
- *A{@linkConcurrentHashMap}-backed{@linkSet}.
- *
- *@author<ahref="http://mina.apache.org"mce_href="http://mina.apache.org">ApacheMINAProject</a>
- */
- publicclassConcurrentHashSet<E>extendsMapBackedSet<E>{
- privatestaticfinallongserialVersionUID=8518578988740277828L;
- publicConcurrentHashSet(){
- super(newConcurrentHashMap<E,Boolean>());
- }
- publicConcurrentHashSet(Collection<E>c){
- super(newConcurrentHashMap<E,Boolean>(),c);
- }
- @Override
- publicbooleanadd(Eo){
- Booleananswer=((ConcurrentMap<E,Boolean>)map).putIfAbsent(o,Boolean.TRUE);
- returnanswer==null;
- }
- }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)