TUM CCSM Commons

edu.tum.cs.commons.collections
Class IdentityHashSet<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<E>
          extended by edu.tum.cs.commons.collections.IdentityHashSet<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>, Set<E>

public class IdentityHashSet<E>
extends AbstractSet<E>

This class implements a set based on referential equality similar to JDK class IdentityHashMap. This class can be e.g. used to implement listener lists that should not rely on the listeners equals()-methods.

The implementation is based on class HashSet that also uses an underlying hash map.

Version:
$Rev: 26283 $
Author:
Florian Deissenboeck, $Author: juergens $
Rating:
GREEN Hash: A3753EB461A1466EFCA699DCE847468B

Constructor Summary
IdentityHashSet()
          Create new identity hash set.
IdentityHashSet(Collection<? extends E> collection)
          Create new identity hash set from an existing collection.
IdentityHashSet(int expectedMaxSize)
          Create new identity hash set with an expected maximum size.
 
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.
 IdentityHashSet<E> clone()
          Returns a shallow copy of this IdentityHashSet instance: the elements themselves are not cloned.
 boolean contains(Object o)
          Returns true if this set contains the specified element.
 boolean isEmpty()
          Returns true if this set contains no elements.
 Iterator<E> iterator()
          Return iterator over the set.
 boolean remove(Object o)
          Removes the specified element from this set if it is present.
 int size()
          Get set size.
 
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, retainAll, toArray, toArray
 

Constructor Detail

IdentityHashSet

public IdentityHashSet()
Create new identity hash set.


IdentityHashSet

public IdentityHashSet(Collection<? extends E> collection)
Create new identity hash set from an existing collection.


IdentityHashSet

public IdentityHashSet(int expectedMaxSize)
Create new identity hash set with an expected maximum size.

Method Detail

add

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

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

clear

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

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

clone

public IdentityHashSet<E> clone()
Returns a shallow copy of this IdentityHashSet instance: the elements themselves are not cloned.

Overrides:
clone in class Object
Returns:
a shallow copy of this set.

contains

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

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

isEmpty

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

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

iterator

public Iterator<E> iterator()
Return iterator over the set.

Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Set<E>
Specified by:
iterator in class AbstractCollection<E>

remove

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

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

size

public int size()
Get set size.

Specified by:
size in interface Collection<E>
Specified by:
size in interface Set<E>
Specified by:
size in class AbstractCollection<E>

TUM CCSM Commons

TUM CCSM Commons - 2.7