Thursday, January 5, 2012

10 Example of Hashtable in Java – Java Hashtable Tutorial

These Java hashtable Examples contains some of the frequently used operations on hastable in Java. when I discussed throw of How HashMap or Hashtable works in Java I touched based on inner working of hastable, 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 getting all keys and values from HashMap , Iterating on hashtable keys and values using Enumeration etc.

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 form of HashMap and ConcurrentHashMap. You can also see Difference between Hashtable and HashMap for comparing each other. Examples of hashtable is not very different than hashmap or ConcurrentHashMap and put() and get() almost work same except some synchronization difference e.g. on ConcurrentHashMap get() and put() can overlap but on hashtable they can’t because 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 object into Hashtable?
2. How to retrieve object from Hashtable in Java?
3. How to reuse Hashtable by using clear()?
4. How to check if Hastable 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 content of Hashtable into HashMap?
9. How to find size of Hashtable in Java?
10. How to get all values 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
companies.get("Google");


// 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()) {
System.out
.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 form hashtalbe 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.
companies.clear();
}
}


Output:
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.


Related Java Tutorial

7 comments :

John Ortiz 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

Zachariah Howell 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:
companies.put("Google",909);

Anonymous said...

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

Post a Comment