001package components.map; 002 003import java.lang.reflect.Constructor; 004import java.util.Comparator; 005import java.util.Iterator; 006 007import components.binarytree.BinaryTree; 008import components.binarytree.BinaryTree1; 009 010/** 011 * {@code Map} represented as a {@link BinaryTree} (maintained as a binary 012 * search tree) of pairs with implementations of primary methods. 013 * 014 * @param <K> 015 * type of {@code Map} domain (key) entries 016 * @param <V> 017 * type of {@code Map} range (associated value) entries 018 * @mathdefinitions <pre> 019 * IS_TOTAL_PREORDER ( 020 * r: binary relation on K 021 * ) : boolean is 022 * for all x, y, z: K 023 * ((r(x, y) or r(y, x)) and 024 * (if (r(x, y) and r(y, z)) then r(x, z))) 025 * 026 * IS_BST( 027 * tree: binary tree of (K, V), 028 * r: binary relation on K 029 * ): boolean satisfies 030 * [tree satisfies the binary search tree ordering property according to the 031 * relation r on the keys of its (K, V) labels and has no duplicate key 032 * values among its (K, V) labels] 033 * </pre> 034 * @convention <pre> 035 * IS_TOTAL_PREORDER([relation computed by $this.order.compare method] and 036 * IS_BST($this.pairsTree, $this.order) 037 * </pre> 038 * @correspondence this = labels($this.pairsTree) 039 */ 040public class Map3<K, V> extends MapSecondary<K, V> { 041 042 /* 043 * 2221/2231 assignment code deleted. 044 */ 045 046}