programming-examples/java/Data_Structures/Java Program to implement Associate Array.java
2019-11-15 12:59:38 +01:00

313 lines
5.9 KiB
Java

/*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<String, String> keyVal;
/** constructor **/
public AssociateArray()
{
keyVal = new HashMap<String, String>();
}
/** 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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 <String, String> 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