Thursday, January 5, 2017

10 Example of Hashtable in Java – Java Hashtable Tutorial

These Java Hashtable Examples contain some of the frequently used operations on Hashtable in Java. when I discussed throw of How HashMap or Hashtable works in Java I touched based on the inner working of Hashtable, while in this Java Hashtable tutorial we will see some examples of hashtable in Java like checking a key exits in Hashmap or not or get all keys and values from HashMap, Iterating on hashtable keys and values using Enumeration, checking if Hashtable contains a particular key or value, how to copy mappings from a Hashtable to HashMap in Java, etc.

Even though Hashtable is an old class and a good chance that it will be deprecated in the future, you will still find lots of Hashtable based code in legacy Java application, so, it's important to know about this Map implementation. 

At the same time, do not write any new code using Hashtable instead use ConcurrentHashMap wherever possible. 

And, If you are new to Java world then I also recommend you go through The Complete Java MasterClass on Udemy to learn Java in a better and more structured way. This is one of the best and up-to-date courses to learn Java online.

Hashtable Examples in Java

Java hashtable examples and sample codeBefore using Hashtable is worth remembering that it’s an obsolete collection and there are better alternatives available in the form of HashMap and ConcurrentHashMap. You can also see the Difference between Hashtable and HashMap for comparing each other.

Examples of the Hashtable are not very different than hashmap or ConcurrentHashMap and put() and get() almost work the same except some synchronization difference e.g. on ConcurrentHashMap get() and put() can overlap but on hashtable, they can’t because the whole map gets locked on either operation. 

On the other hand, since hashmap is not synchronized at all using it on concurrent java application is not advised.

10 Java Hashtable Examples:

Now let’s move on Hashtable examples in Java following is a list of all examples of hashtable operation we will see in this article:

1. How to put an object into Hashtable?
2. How to retrieve an object from Hashtable in Java?
3. How to reuse Hashtable by using clear()?
4. How to check if Hashtable contains a particular value?
5. How to check if Hashtable contains a particular key?
6. How to traverse Hashtable in Java?
7. How to check if Hashtable is empty in Java?
8. How to Copy the content of Hashtable into HashMap?
9. How to find the size of Hashtable in Java?
10. How to get all values to form hashtable in Java?
11. How to get all keys from hashtable in Java?

Here is complete code example of all above hashtable example or exercises:

import java.util.Collection;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Set;

public class HashtableDemo {

public static void main(String args[]) {

// Creating Hashtable for example
Hashtable companies = new Hashtable();

// Java Hashtable example to put object into Hashtable
// put(key, value) is used to insert object into map
companies.put("Google", "United States");
companies.put("Nokia", "Finland");
companies.put("Sony", "Japan");

// Java Hashtable example to get Object from Hashtable
// get(key) method is used to retrieve Objects from Hashtable

// Hashtable containsKey Example
// Use containsKey(Object) method to check if an Object exits as key in
// hashtable
System.out.println("Does hashtable contains Google as key: "
+ companies.containsKey("Google"));

// Hashtable containsValue Example
// just like containsKey(), containsValue returns true if hashtable
// contains specified object as value
System.out.println("Does hashtable contains Japan as value: "
+ companies.containsValue("Japan"));

// Hashtable enumeration Example
// hashtabl.elements() return enumeration of all hashtable values
Enumeration enumeration = companies.elements();

while (enumeration.hasMoreElements()) {
.println("hashtable values: " + enumeration.nextElement());

// How to check if Hashtable is empty in Java
// use isEmpty method of hashtable to check emptiness of hashtable in
// Java
System.out.println("Is companies hashtable empty: "
+ companies.isEmpty());

// How to find size of Hashtable in Java
// use hashtable.size() method to find size of hashtable in Java
System.out.println("Size of hashtable in Java: " + companies.size());

// How to get all values form hashtable in Java
// you can use keySet() method to get a Set of all the keys of hashtable
// in Java
Set hashtableKeys = companies.keySet();

// you can also get enumeration of all keys by using method keys()
Enumeration hashtableKeysEnum = companies.keys();

// How to get all keys from hashtable in Java
// There are two ways to get all values from hash table first by using
// Enumeration and second getting values ad Collection

Enumeration hashtableValuesEnum = companies.elements();

Collection hashtableValues = companies.values();

// Hashtable clear example
// by using clear() we can reuse an existing hashtable, it clears all
// mappings.

Does hashtable contains Google as key: true
Does hashtable contains Japan as value: true
hashtable values: Finland
hashtable values: United States
hashtable values: Japan
Is companies hashtable empty: false
Size of hashtable in Java: 3

That’s all on Hashtable Example in Java. We have seen almost all frequently used hashtable operations in java. As I said earlier don’t use Hashtable as its pretty old and there are better alternatives available like ConcurrentHashMap until it’s absolutely necessary for you.

Further Learning
Java In-Depth: Become a Complete Java Engineer
Java Fundamentals: Collections
Data Structures and Algorithms: Deep Dive Using Java

Related Java Tutorial


John Ortiz Ordoñez said...

Do you know how to create an hash table from scratch? I am interesting in find examples about his.

Thanks for this information.

Anonymous said...

Why we prefer to use String as a key value not only in hashtable?

Javin @ tricky java question said...

@Anonymous, There are couple of reason like String is immutable and final, they have proper equals and hashCode method etc. See my post How HashMap works in Java for more details.

Anonymous said...

How to Copy content of Hashtable into HashMap?

Anonymous said...

By default Hashtable elements are unordered how can we retreive elements same order as we put inside

Zach said...

At least when I try to run in Eclipse, I get the warning "Hashtable is a raw type. References to generic type Hashtable should be parameterized."
You should declare using two reference types like this:
Hashtable companies = new Hashtable();
This gives you compile time errors when you try to put objects that aren't strings into your hashtable. Quite nice so you don't do something dumb like:

Anonymous said...

instead of companies.containsValue("Japan") ,
you can write simpley companies.contains("Japan");

Post a Comment