/*This is a Java Program to implement Associate Array. An associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection.*/ /** ** Java Program to implement Associate Array **/ import java.util.Scanner; import java.util.HashMap; /** class AssociateArray */ class AssociateArray { private HashMap keyVal; /** constructor **/ public AssociateArray() { keyVal = new HashMap(); } /** function to clear **/ public void clear() { keyVal.clear(); } /** function to get size **/ public int size() { return keyVal.size(); } /** function to insert element **/ public void insert(String key, String val) { keyVal.put(key, val); } /** function to get element **/ public String get(String ele) { return keyVal.get(ele); } /** function to remove element **/ public void remove(String key) { keyVal.remove(key); } /** function to modify **/ public void modify(String key, String val) { keyVal.put(key, val); } } /** Class AssociateArrayTest **/ public class AssociateArrayTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Associate Array Test\n"); AssociateArray aa = new AssociateArray(); char ch; /* Perform Associate Array operations */ do { System.out.println("\nAssociate Array Operations\n"); System.out.println("1. put "); System.out.println("2. get"); System.out.println("3. remove"); System.out.println("4. modify"); System.out.println("5. clear"); System.out.println("6. size"); int choice = scan.nextInt(); switch (choice) { case 1 : System.out.println("Enter key and value"); aa.insert(scan.next(), scan.next() ); break; case 2 : System.out.println("Enter element"); String ele = scan.next(); String str = aa.get(ele); if (str != null) System.out.println("Result : "+ str); else System.out.println("\nError : Not found\n"); break; case 3 : System.out.println("\nEnter key to be removed"); aa.remove(scan.next() ); break; case 4 : System.out.println("\nEnter key, value to be modified"); aa.modify(scan.next(), scan.next() ); break; case 5 : System.out.println("\nAssociate Array Cleared"); aa.clear(); break; case 6 : System.out.println("\nSize = "+ aa.size() ); break; default : System.out.println("Wrong Entry \n "); break; } System.out.println("\nDo you want to continue (Type y or n) \n"); ch = scan.next().charAt(0); } while (ch == 'Y'|| ch == 'y'); } } /* Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 1 Enter key and value fruit mango Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 1 Enter key and value vegetable tomato Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 1 Enter key and value drink water Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 2 Enter element drink Result : water Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 2 Enter element fruit Result : mango Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 4 Enter key, value to be modified fruit apple Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 2 Enter element fruit Result : apple Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 6 Size = 3 Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 3 Enter key to be removed fruit Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 2 Enter element fruit Error : Not found Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 5 Associate Array Cleared Do you want to continue (Type y or n) y Associate Array Operations 1. put 2. get 3. remove 4. modify 5. clear 6. size 6 Size = 0 Do you want to continue (Type y or n) n