Code:
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
public class CopyOnWriteArraySetImpl
{
private CopyOnWriteArraySet
/** Creates an empty set. **/
public CopyOnWriteArraySetImpl()
{
copyOnWriteArraySet = new CopyOnWriteArraySet
}
/**
* Creates a set containing all of the elements of the specified collection.
**/
public CopyOnWriteArraySetImpl(Collection c)
{
copyOnWriteArraySet = new CopyOnWriteArraySet
}
/** adds the specified element if not already present **/
public boolean add(E eobj)
{
return copyOnWriteArraySet.add(eobj);
}
/** return true if this set contains the specified element **/
public boolean contains(Object obj)
{
return copyOnWriteArraySet.contains(obj);
}
/** returns true if the set is empty **/
public boolean isEmpty()
{
return copyOnWriteArraySet.isEmpty();
}
/** returns an iterator over the elements in the set **/
public Iterator
{
return copyOnWriteArraySet.iterator();
}
/** removes the specified element from this set if present **/
public boolean remove(Object obj)
{
return copyOnWriteArraySet.remove(obj);
}
/** returns the number of elements in set **/
public int size()
{
return copyOnWriteArraySet.size();
}
/** removes all elements from this set **/
public void clear()
{
copyOnWriteArraySet.clear();
}
/** Returns an array containing all of the elements in this set. **/
public Object[] toArray()
{
return copyOnWriteArraySet.toArray();
}
/**
* Adds all of the elements in the specified collection to this set if
* they're not already present
**/
public boolean addAll(Collection c)
throws UnsupportedOperationException, ClassCastException, NullPointerException, IllegalArgumentException
{
return copyOnWriteArraySet.addAll(c);
}
/**
* Retains only the elements in this set that are contained in the specified
* collection
**/
public boolean retainAll(Collection c)
throws UnsupportedOperationException, ClassCastException, NullPointerException
{
return copyOnWriteArraySet.retainAll(c);
}
/**
* Removes from this set all of its elements that are contained in the
* specified collection
**/
public boolean removeAll(Collection c)
throws UnsupportedOperationException, NullPointerException, ClassCastException
{
return copyOnWriteArraySet.retainAll(c);
}
/**
* Returns an array containing all of the elements in this set; the runtime
* type of the returned array is that of the specified array
**/
public
{
return copyOnWriteArraySet.toArray(a);
}
public static void main(String... arg)
{
CopyOnWriteArraySetImpl
if (copyOnWriteArraySet.add(10))
System.out.println("element 10 added");
if (copyOnWriteArraySet.add(20))
System.out.println("element 20 added");
if (copyOnWriteArraySet.add(30))
System.out.println("element 30 added");
System.out.println("the size of copyOnWriteArraySet is " + copyOnWriteArraySet.size());
if (copyOnWriteArraySet.contains(40))
System.out.println("copyOnWriteArraySet contains 40");
else
System.out.println("copyOnWriteArraySet does not contain 40");
if (copyOnWriteArraySet.remove(20))
System.out.println("element 20 removed");
else
System.out.println("element 20 not removed");
System.out.println("the element of copyOnWriteArraySet are");
Iterator
while (iterator.hasNext())
{
System.out.print(iterator.next() + "\t");
}
System.out.println();
Set
removedSet.add(10);
removedSet.add(20);
System.out.println("the elements after removing");
copyOnWriteArraySet.removeAll(removedSet);
Iterator
while (riterator.hasNext())
{
System.out.print(riterator.next() + "\t");
}
System.out.println();
copyOnWriteArraySet.clear();
System.out.println("copyOnWriteArraySet cleared");
if (copyOnWriteArraySet.isEmpty())
System.out.println("copyOnWriteArraySet is empty");
else
System.out.println("copyOnWriteArraySet is not empty");
}
}
Output:
element 10 added
element 20 added
element 30 added
the size of copyOnWriteArraySet is 3
copyOnWriteArraySet does not contain 40
element 20 removed
the element of copyOnWriteArraySet are
10 30
the elements after removing
10
copyOnWriteArraySet cleared
copyOnWriteArraySet is empty
More Java Programs: