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.
Here is the source code of the Java Program to implement Associate Array. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/**
** 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 Test 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
Related posts:
Merging Two Maps with Java 8
Giới thiệu luồng vào ra (I/O) trong Java
XML Serialization and Deserialization with Jackson
Java Program to Implement RoleUnresolvedList API
Hướng dẫn Java Design Pattern – Chain of Responsibility
HttpAsyncClient Tutorial
Mix plain text and HTML content in a mail
Java Program to Implement AttributeList API
ExecutorService – Waiting for Threads to Finish
Spring Security Form Login
Jackson Annotation Examples
Java Program to Perform Searching in a 2-Dimension K-D Tree
@DynamicUpdate with Spring Data JPA
Java Program to Implement AVL Tree
Java 8 Stream API Analogies in Kotlin
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Giới thiệu Google Guice – Binding
Functional Interface trong Java 8
Spring Boot - Sending Email
Java Program to Implement Hash Tables with Quadratic Probing
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Write/Read cookies using HTTP and Read a file from the internet
Spring WebClient Requests with Parameters
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Spring Boot - Service Components
Java Program to Implement PriorityQueue API
Guide to CountDownLatch in Java
HttpClient 4 – Follow Redirects for POST
Introduction to Liquibase Rollback
Java Program to Compute the Area of a Triangle Using Determinants
Dockerizing a Spring Boot Application