Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.

fj.data
Class HashSet<A>

java.lang.Object
  extended by fj.data.HashSet<A>
All Implemented Interfaces:
Iterable<A>

public final class HashSet<A>
extends Object
implements Iterable<A>

A mutable hash set that guarantees uniqueness of its elements providing O(1) lookup.

See Also:
HashMap

Constructor Summary
HashSet(Equal<A> e, Hash<A> h)
          Construct a hash set with the given equality and hashing strategy.
HashSet(Equal<A> e, Hash<A> h, int initialCapacity)
          Construct a hash set with the given equality and hashing strategy.
HashSet(Equal<A> e, Hash<A> h, int initialCapacity, float loadFactor)
          Construct a hash set with the given equality and hashing strategy.
 
Method Summary
 void clear()
          Clear all elements from this hash set.
 boolean contains(A a)
          Determines if this hash set contains the given element.
 boolean delete(A a)
          Deletes the given element from this hash set.
 boolean eq(A a1, A a2)
          Compare two values for equality using the underlying equality strategy.
 int hash(A a)
          Compute the hash of the given value using the underlying hashing strategy.
 boolean isEmpty()
          Determines if this hash set contains any elements.
 Iterator<A> iterator()
          Returns an iterator for this hash set.
 void set(A a)
          Insert the given element into this hash set.
 int size()
          Returns the number of entries in this hash set.
 Collection<A> toCollection()
          Projects an immutable collection of this hash set.
 List<A> toList()
          Returns a list projection of this hash set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HashSet

public HashSet(Equal<A> e,
               Hash<A> h)
Construct a hash set with the given equality and hashing strategy.

Parameters:
e - The equality strategy.
h - The hashing strategy.

HashSet

public HashSet(Equal<A> e,
               Hash<A> h,
               int initialCapacity)
Construct a hash set with the given equality and hashing strategy.

Parameters:
e - The equality strategy.
h - The hashing strategy.
initialCapacity - The initial capacity.

HashSet

public HashSet(Equal<A> e,
               Hash<A> h,
               int initialCapacity,
               float loadFactor)
Construct a hash set with the given equality and hashing strategy.

Parameters:
e - The equality strategy.
h - The hashing strategy.
initialCapacity - The initial capacity.
loadFactor - The load factor.
Method Detail

iterator

public Iterator<A> iterator()
Returns an iterator for this hash set. This method exists to permit the use in a for-each loop.

Specified by:
iterator in interface Iterable<A>
Returns:
A iterator for this hash set.

eq

public boolean eq(A a1,
                  A a2)
Compare two values for equality using the underlying equality strategy.

Parameters:
a1 - One value to compare.
a2 - The other value to compare.
Returns:
true if the two values are equal, false otherwise.

hash

public int hash(A a)
Compute the hash of the given value using the underlying hashing strategy.

Parameters:
a - The value to computer the hash of.
Returns:
The hash of the given value.

contains

public boolean contains(A a)
Determines if this hash set contains the given element.

Parameters:
a - The element to look for in this hash set.
Returns:
true if this hash set contains the given element, false otherwise.

set

public void set(A a)
Insert the given element into this hash set.

Parameters:
a - The element to insert.

clear

public void clear()
Clear all elements from this hash set.


isEmpty

public boolean isEmpty()
Determines if this hash set contains any elements.

Returns:
true if this hash set contains no elements, false otherwise.

size

public int size()
Returns the number of entries in this hash set.

Returns:
The number of entries in this hash set.

delete

public boolean delete(A a)
Deletes the given element from this hash set.

Parameters:
a - The element to delete from this hash set.
Returns:
true if this hash set contained the given element prior to deletion, false otherwise.

toList

public List<A> toList()
Returns a list projection of this hash set.

Returns:
A list projection of this hash set.

toCollection

public Collection<A> toCollection()
Projects an immutable collection of this hash set.

Returns:
An immutable collection of this hash set.

Copyright 2008 - 2010 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg

This software is released under an open source BSD licence.