LimeWire collection component api

org.limewire.collection
Class IdentityHashSet<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<E>
          extended by org.limewire.collection.IdentityHashSet<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>

public class IdentityHashSet<E>
extends java.util.AbstractSet<E>
implements java.util.Set<E>, java.lang.Cloneable, java.io.Serializable

A set equivalent of IdentityHashMap.

    IdentityHashSet<String> ihs = new IdentityHashSet<String>(4);

    String s = new String("Abby");
    ihs.add(s);

    if(!ihs.add(s))
        System.out.println("Already contained ("+ s + "); contents: " + ihs);

    if(ihs.add("Abby"))
        System.out.println("Was able to add a new String(\"Abby\") since it's a separate object.");

    System.out.println("Contents: " + ihs);

    ihs.add("Bob");
    ihs.add("Chris");
    ihs.add("Dan");
    System.out.println("Size is: " + ihs.size() + " contents: " + ihs); 

    Output:
        Already contained (Abby); contents: [Abby]
        Was able to add a new String("Abby") since it's a separate object.
        Contents: [Abby, Abby]
        Size is: 5 contents: [Dan, Chris, Abby, Abby, Bob]

See Also:
Serialized Form

Constructor Summary
IdentityHashSet()
          Constructs a new, empty set; the backing IdentityHashMap instance has default initial capacity (16) and load factor (0.75).
IdentityHashSet(java.util.Collection<? extends E> c)
          Constructs a new set containing the elements in the specified collection.
IdentityHashSet(int initialCapacity)
          Constructs a new, empty set; the backing IdentityHashMap instance has the specified initial capacity and default load factor, which is 0.75.
 
Method Summary
 boolean add(E o)
          Adds the specified element to this set if it is not already present.
 void clear()
          Removes all of the elements from this set.
 java.lang.Object clone()
          Returns a shallow copy of this IdentityHashSet instance: the elements themselves are not cloned.
 boolean contains(java.lang.Object o)
          Returns true if this set contains the specified element.
 boolean isEmpty()
          Returns true if this set contains no elements.
 java.util.Iterator<E> iterator()
          Returns an iterator over the elements in this set.
 boolean remove(java.lang.Object o)
          Removes the specified element from this set if it is present.
 int size()
          Returns the number of elements in this set (its cardinality).
 
Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
 
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Set
addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
 

Constructor Detail

IdentityHashSet

public IdentityHashSet()
Constructs a new, empty set; the backing IdentityHashMap instance has default initial capacity (16) and load factor (0.75).


IdentityHashSet

public IdentityHashSet(java.util.Collection<? extends E> c)
Constructs a new set containing the elements in the specified collection. The IdentityHashMap is created with default load factor (0.75) and an initial capacity sufficient to contain the elements in the specified collection.

Parameters:
c - the collection whose elements are to be placed into this set.
Throws:
java.lang.NullPointerException - if the specified collection is null.

IdentityHashSet

public IdentityHashSet(int initialCapacity)
Constructs a new, empty set; the backing IdentityHashMap instance has the specified initial capacity and default load factor, which is 0.75.

Parameters:
initialCapacity - the initial capacity of the hash table.
Throws:
java.lang.IllegalArgumentException - if the initial capacity is less than zero.
Method Detail

iterator

public java.util.Iterator<E> iterator()
Returns an iterator over the elements in this set. The elements are returned in no particular order.

Specified by:
iterator in interface java.lang.Iterable<E>
Specified by:
iterator in interface java.util.Collection<E>
Specified by:
iterator in interface java.util.Set<E>
Specified by:
iterator in class java.util.AbstractCollection<E>
Returns:
an Iterator over the elements in this set.
See Also:
ConcurrentModificationException

size

public int size()
Returns the number of elements in this set (its cardinality).

Specified by:
size in interface java.util.Collection<E>
Specified by:
size in interface java.util.Set<E>
Specified by:
size in class java.util.AbstractCollection<E>
Returns:
the number of elements in this set (its cardinality).

isEmpty

public boolean isEmpty()
Returns true if this set contains no elements.

Specified by:
isEmpty in interface java.util.Collection<E>
Specified by:
isEmpty in interface java.util.Set<E>
Overrides:
isEmpty in class java.util.AbstractCollection<E>
Returns:
true if this set contains no elements.

contains

public boolean contains(java.lang.Object o)
Returns true if this set contains the specified element.

Specified by:
contains in interface java.util.Collection<E>
Specified by:
contains in interface java.util.Set<E>
Overrides:
contains in class java.util.AbstractCollection<E>
Parameters:
o - element whose presence in this set is to be tested.
Returns:
true if this set contains the specified element.

add

public boolean add(E o)
Adds the specified element to this set if it is not already present.

Specified by:
add in interface java.util.Collection<E>
Specified by:
add in interface java.util.Set<E>
Overrides:
add in class java.util.AbstractCollection<E>
Parameters:
o - element to be added to this set.
Returns:
true if the set did not already contain the specified element.

remove

public boolean remove(java.lang.Object o)
Removes the specified element from this set if it is present.

Specified by:
remove in interface java.util.Collection<E>
Specified by:
remove in interface java.util.Set<E>
Overrides:
remove in class java.util.AbstractCollection<E>
Parameters:
o - object to be removed from this set, if present.
Returns:
true if the set contained the specified element.

clear

public void clear()
Removes all of the elements from this set.

Specified by:
clear in interface java.util.Collection<E>
Specified by:
clear in interface java.util.Set<E>
Overrides:
clear in class java.util.AbstractCollection<E>

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a shallow copy of this IdentityHashSet instance: the elements themselves are not cloned.

Overrides:
clone in class java.lang.Object
Returns:
a shallow copy of this set.
Throws:
java.lang.CloneNotSupportedException

LimeWire collection component api

Copyright © 2009 Lime Wire LLC. All Rights Reserved.