How to create a dictionary in Java - Java.util.Dictionary Examples


1. Overview In this article, You will learn in-depth about the Dictionary class in java and how to create a dictionary in java? Dictionary ...

1. Overview

In this article, You will learn in-depth about the Dictionary class in java and how to create a dictionary in java?

Dictionary is an abstract class in java api which used in collections such as Hashtable. Dictionary supports backend to store the values as key, value pair. Key and Values are should be objects.

In Dictionary, Every key value must be having a value that can be a null or non-null object and keys are not stored in the insertion order. This does not allow duplicate keys.

Since the dictionary is an abstract class so, we can not create an object for it. Hence, object creation is possible to only its implementation classes. As a rule, the equals method should be used by implementations of this class to decide if two keys are the same.

How to create a dictionary in Java - Java.util.Dictionary Examples

2. Class declaration:

public abstract class Dictionary<K,V> extends Object 


Dictionary() --> Sole constructor.


abstract Enumeration<V> elements(): Returns an enumeration of the values in this dictionary.
abstract V     get(Object key): Returns the value to which the key is mapped in this dictionary.
abstract boolean isEmpty() : Tests if this dictionary maps no keys to value.
abstract Enumeration<K> keys() : Returns an enumeration of the keys in this dictionary.
abstract V     put(K key, V value): Maps the specified key to the specified value in this dictionary.
abstract V     remove(Object key): Removes the key (and its corresponding value) from this dictionary.
abstract int size() : Returns the number of entries (distinct keys) in this dictionary.

3. How do you create a Dictionary in Java?

Creating a Dictionary object can be done only by its subclass that is Hashtable.

Dictionary Example:

package com.adeepdrive.dictionary;

import java.util.Dictionary;
import java.util.Hashtable;

public class DictonaryExample {
    public static void main(String[] args) {

        Dictionary<Integer, String> dictionary = new Hashtable<>();
        dictionary.put(1, "Number One");
        dictionary.put(2, "Number Two");
        dictionary.put(3, "Number Three");
        System.out.println("dictionary : " + dictionary);


dictionary: {3=Number Three, 2=Number Two, 1=Number One}

A reference is a dictionary but the object is created for Hashtable which is the implementation of it. Observe the order of output and order is not preserved.

4. How to get the value for the specific key?

If we know the key then by using get(String key) method, we can get the value of a particular key.

System.out.println("Finding the value for key 2");
String value = dictionary.get(2);
System.out.println("Printing value of key 2 is " + value);


Finding the value for key 2
Printing value of key 2 is Number Two

5. Retrieving all keys from the dictionary:

It provides a method called keys() method and returns the Enumeration of keys.

System.out.println("Getting keys");
Enumeration<Integer> keys = dictionary.keys();
while (keys.hasMoreElements()) {
    System.out.println("Key : " + keys.nextElement());


Getting keys
Key : 3
Key : 2
Key : 1

After getting all key then if we call keys.nextElement() after while loop there are no keys to print. We will get run time exception saying "NoSuchElementException".

Exception in thread "main" java.util.NoSuchElementException: Hashtable Enumerator
    at java.util.Hashtable$Enumerator.nextElement(Unknown Source)
    at com.adeepdrive.dictionary.DictonaryExample.main(DictonaryExample.java:28)

6. How to get only values from the Dictionary:

By calling elements() method, we will get the Enumeration of values.

System.out.println("Getting values");
Enumeration<String> values = dictionary.elements();
while (values.hasMoreElements()) {
    System.out.println("Value : " + values.nextElement());

Getting values
Value : Number Three
Value : Number Two
Value : Number One

7. How to get the values based on particular conditions on keys?

Till now we have retrieved First keys from the dictionary, second just only values.
Key     Value
Austria --> EUR
Australia --> AUD
France --> EUR
Just imagine, We do not know what are the keys present in it. But we want to get the values only for countries starts with Aus.

package com.adeepdrive.dictionary;

import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;

public class DictonaryIterateExample {
    public static void main(String[] args) {
        Dictionary<String, String> countryCurrency = new Hashtable<>();
        countryCurrency.put("USA", "USD");
        countryCurrency.put("Austria", "EUR");
        countryCurrency.put("Australia", "AUD");
        countryCurrency.put("France", "EUR");

        Enumeration<String> keys = countryCurrency.keys();

        while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            if (key.startsWith("Aus")) {
                String value = countryCurrency.get(key);
               System.out.println("Key : " + key + ", Value : " + value);




Key : Austria, Value : EUR
Key : Australia, Value : AUD

8. What will happen if we keep the same key again in it with a different value?

Dictionary does not allow duplicate keys. We will see now how it behaves.

public class DictonaryDuplicateExample {

    public static void main(String[] args) {

        Dictionary<String, String> employeeAddresses = new Hashtable<>();
        employeeAddresses.put("Robert", "Los Angeles");
        employeeAddresses.put("Julee", "New York");
        // Robert address changing now.
        employeeAddresses.put("Robert", "United Kingdom");
        System.out.println("Employee address : "+employeeAddresses);


Employee address: {Julee=New York, Robert=United Kingdom}

In this example, we have added key Robert two times but the second time added new value. It overrides old value with new. Now we will have only one key.



About Us

Author: Venkatesh - I love to learn and share the technical stuff.

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
JavaProgramTo.com: How to create a dictionary in Java - Java.util.Dictionary Examples
How to create a dictionary in Java - Java.util.Dictionary Examples
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content