LinkedHashMap class extends the HashMap class and implements Map Interface to store values in key and value pairs.
Points to Remember
- LinkedHashMap class is in java.util package.
- LinkedHashMap uses data structure Hashtable and LinkedList implementation of the Map interface.
- LinkedHashMap contains values based on the key.
- LinkedHashMap contains unique elements.
- LinkedHashMap class may have one null key and multiple null values.
- LinkedHashMap is not synchronized.
- LinkedHashMap maintains the insertion order.
- LinkedHashMap initial default capacity is 16 with a load factor of 0.75.
LinkedHashMap Declaration
public class LinkedHashMap extends HashMap implements Map
- K: Here K represent Key of Map
- V: Here V represents value in the Map with respect to K.
Constructors of LinkedHashMap class
Constructor |
Description |
LinkedHashMap() |
This is the default LinkedHashMap constructor. |
LinkedHashMap(int capacity) |
Use to initialize a LinkedHashMap with the given capacity. |
LinkedHashMap(int capacity, float loadFactor) |
Use to initialize both the capacity and the load factor. |
LinkedHashMap(int capacity, float loadFactor, boolean accessOrder) |
Use to initialize both the capacity and the load factor with specified ordering mode. |
LinkedHashMap(Map m) |
Use to initialize the LinkedHashMap with the elements from the given Map class m. |
Methods of LinkedHashMap class
Method |
Description |
V get(Object key) |
It returns the value object map to the specified key. |
void clear() |
It removes all the key-value pairs from a map. |
boolean containsValue(Object value) |
It returns true if one or more keys to the specified value. |
Set<Map.Entry> entrySet() |
It returns a Set view of the mappings contained in the map. |
void forEach(BiConsumer action) |
It performs the given action on each entry in the map until all entries have been processed or any action throws an exception. |
V getOrDefault(Object key, V defaultValue) |
It returns the value to which the specified key is mapped or defaultValue if this map contains no mapping for the key. |
Set keySet() |
It returns a Set view of the keys contained in the map |
protected boolean removeEldestEntry(Map.Entry eldest) |
It returns true on removing its eldest entry. |
void replaceAll(BiFunction function) |
It replaces each entry’s value in map with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception. |
Collection values() |
It returns a Collection view of the values contained in this map. |
LinkedHashMap Example : insert items and traverse
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample4 {
public static void main(String args[]) {
Map hm = new LinkedHashMap();
hm.put(20, "Anuj");
hm.put(21, "Virendra");
hm.put(22, "Raghav");
for (Map.Entry m : hm.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue());
}
}
}
Output :
20 Anuj
21 Virendra
22 Raghav
LinkedHashMap Example : Key-Value pair
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample1 {
public static void main(String args[]) {
Map map = new LinkedHashMap();
map.put(20, "Anuj");
map.put(21, "Virendra");
map.put(22, "Raghav");
// Fetching key from LinkedHashMap
System.out.println("Keys: " + map.keySet());
// Fetching value from LinkedHashMap
System.out.println("Values: " + map.values());
// Fetching key-value pair from LinkedHashMap
System.out.println("Key-Value pairs: " + map.entrySet());
}
}
Output :
Keys: [20, 21, 22]
Values: [Anuj, Virendra, Raghav]
Key-Value pairs: [20=Anuj, 21=Virendra, 22=Raghav]
LinkedHashMap Example : remove()
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample2 {
public static void main(String args[]) {
Map map = new LinkedHashMap();
map.put(20, "Anuj");
map.put(22, "Ravi");
map.put(21, "Virendra");
map.put(23, "Raghav");
System.out.println("Before remove: " + map);
// Remove value for key 22
map.remove(22);
System.out.println("After remove: " + map);
}
}
Output :
Before remove: {20=Anuj, 22=Ravi, 21=Virendra, 23=Raghav}
After remove: {20=Anuj, 21=Virendra, 23=Raghav}
LinkedHashMap Example : getOrDefault()
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample3 {
public static void main(String args[]) {
Map map = new LinkedHashMap();
map.put(20, "Anuj");
map.put(22, "Ravi");
map.put(21, "Virendra");
map.put(23, "Raghav");
// Here it will retrieve values for key 21 and 25
// if values not find out in HashTable then return default value
System.out.println(map.getOrDefault(21, "Not Found"));
System.out.println(map.getOrDefault(25, "Not Found"));
}
}
Output :
Virendra
Not Found
LinkedHashMap Example : with objects
import java.util.*;
class Magzine{
int id;
String name,author,publisher;
int quantity;
public Magzine(int id, String name, String author, String publisher, int quantity) {
this.id = id;
this.name = name;
this.author = author;
this.publisher = publisher;
this.quantity = quantity;
}
}
public class LinkedHashMapExampleWithObjects {
public static void main(String[] args) {
// Creating map of Magzine
Map map = new LinkedHashMap();
// Creating Magzines
Magzine m1 = new Magzine(21, "The Sun", "Sy Sunfranchy", "The Sun Company", 8);
Magzine m2 = new Magzine(22, "Glimmer Trains", "Unknown", "Glimmer Train Press", 4);
Magzine m3 = new Magzine(23, "Crazy horse", "Brett Lot", "College of Charleston", 6);
// Adding magzine to map
map.put(1, m1);
map.put(2, m2);
map.put(3, m3);
// Traversing map
for (Map.Entry entry : map.entrySet()) {
int key = entry.getKey();
Magzine m = entry.getValue();
System.out.println("\nId: "+key + " Details:");
System.out.println(m.id + " " + m.name + " " + m.author + " " + m.publisher + " " + m.quantity);
}
}
}
Output :
Id: 1 Details:
21 The Sun Sy Sunfranchy The Sun Company 8
Id: 2 Details:
22 Glimmer Trains Unknown Glimmer Train Press 4
Id: 3 Details:
23 Crazy horse Brett Lot College of Charleston 6
Share this post with others:
Like this:
Like Loading...
Related
You must log in to post a comment.