⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 concurrenthashset.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: ConcurrentHashSet.java 8077 2007-08-27 20:15:25Z aperepel $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.util.concurrent;/* * Written by Doug Lea with assistance from members of JCP JSR-166 Expert Group and * released to the public domain, as explained at * http://creativecommons.org/licenses/publicdomain */import java.io.IOException;import java.io.Serializable;import java.util.AbstractSet;import java.util.Collection;import java.util.Iterator;import java.util.Set;import edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap;public class ConcurrentHashSet/* <E> */extends AbstractSet/* <E> */implements Set/* <E> */, Serializable{    private static final long serialVersionUID = 2454657854757543876L;    private final ConcurrentHashMap/* <E, Boolean> */map;    private transient Set/* <E> */keySet;    public ConcurrentHashSet()    {        map = new ConcurrentHashMap/* <E, Boolean> */();        keySet = map.keySet();    }    public ConcurrentHashSet(int initialCapacity)    {        map = new ConcurrentHashMap/* <E, Boolean> */(initialCapacity);        keySet = map.keySet();    }    public ConcurrentHashSet(int initialCapacity, float loadFactor, int concurrencyLevel)    {        map = new ConcurrentHashMap/* <E, Boolean> */(initialCapacity, loadFactor, concurrencyLevel);        keySet = map.keySet();    }    public int size()    {        return map.size();    }    public boolean isEmpty()    {        return map.isEmpty();    }    public boolean contains(Object o)    {        return map.containsKey(o);    }    public Iterator/* <E> */iterator()    {        return keySet.iterator();    }    public Object[] toArray()    {        return keySet.toArray();    }    public/* <T> T[] */Object[] toArray(Object[]/* T[] */a)    {        return keySet.toArray(a);    }    public boolean add(Object/* E */e)    {        return map.put(e, Boolean.TRUE) == null;    }    public boolean remove(Object o)    {        return map.remove(o) != null;    }    public boolean removeAll(Collection/* <?> */c)    {        return keySet.removeAll(c);    }    public boolean retainAll(Collection/* <?> */c)    {        return keySet.retainAll(c);    }    public void clear()    {        map.clear();    }    public boolean equals(Object o)    {        return keySet.equals(o);    }    public int hashCode()    {        return keySet.hashCode();    }    private void readObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException    {        s.defaultReadObject();        keySet = map.keySet();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -