001package components.set;
002
003import java.util.Iterator;
004import java.util.NoSuchElementException;
005
006/**
007 * {@code Set} represented as a hash table using {@link Set}s for the buckets,
008 * with implementations of primary methods.
009 *
010 * @param <T>
011 *            type of {@code Set} elements
012 * @convention {@code
013 * |$this.hashTable| > 0  and
014 * for all i: integer, s: finite set of T, x: T
015 *     where (0 <= i  and  i < |$this.hashTable|  and
016 *            <s> = $this.hashTable[i, i+1)  and
017 *            x is in s)
018 *   ([computed result of x.hashCode()] mod |$this.hashTable| = i)  and
019 * for all i: integer
020 *     where (0 <= i  and  i < |$this.hashTable|)
021 *   ([entry at position i in $this.hashTable is not null])  and
022 * $this.size = sum i: integer, s: finite set of T
023 *     where (0 <= i  and  i < |$this.hashTable|  and
024 *            <s> = $this.hashTable[i, i+1))
025 *   (|s|)
026 * }
027 * @correspondence {@code
028 * this = union i: integer, s: finite set of T
029 *            where (0 <= i  and  i < |$this.hashTable|  and
030 *                   <s> = $this.hashTable[i, i+1))
031 *          (s)
032 * }
033 */
034public class Set4<T> extends SetSecondary<T> {
035
036    /*
037     * 2221/2231 assignment code deleted.
038     */
039
040}