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