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}