JavaLinkedHashMap
Java LinkedHashMap
ALinkedHashMap stores keys and values, and keeps them in the same order you put them in.
It is part of thejava.util package and implements theMap interface.
Tip: UseLinkedHashMap when you want predictable iteration order (insertion order).
Create a LinkedHashMap
Create aLinkedHashMap object calledcapitalCities that will storeString keys andString values:
Example
import java.util.LinkedHashMap; // Import the LinkedHashMap classLinkedHashMap<String, String> capitalCities = new LinkedHashMap<>(); Now you can use methods likeput() to add key/value pairs,get() to retrieve a value by key, andremove() to delete an entry - all while maintaining insertion order.
Add Items
Use theput() method to add items to theLinkedHashMap:
Example
// Import the LinkedHashMap classimport java.util.LinkedHashMap;public class Main { public static void main(String[] args) { LinkedHashMap<String, String> capitalCities = new LinkedHashMap<>(); capitalCities.put("England", "London"); capitalCities.put("India", "New Dehli"); capitalCities.put("Austria", "Wien"); capitalCities.put("Norway", "Oslo"); capitalCities.put("Norway", "Oslo"); // Duplicate capitalCities.put("USA", "Washington DC"); System.out.println(capitalCities); }}Output: The items will appear in the order they were added (e.g., {England=London, India=New Dehli, Austria=Wien, Norway=Oslo, USA=Washington DC}).
Note: Duplicates like "Norway" are ignored.
Access an Item
Useget() with a key to get its associated value:
Remove an Item
Useremove() to remove an item by key:
Useclear() to remove all items:
LinkedHashMap Size
Usesize() to check how many key/value pairs are in the map:
Note: The size only counts unique keys. If a key is added more than once, only the latest value is kept.
Loop Through a LinkedHashMap
You can loop through aLinkedHashMap using a for-each loop. Use:
keySet()to get all keysvalues()to get all values
Example
// Print keysfor (String key : capitalCities.keySet()) { System.out.println(key);}Example
// Print valuesfor (String value : capitalCities.values()) { System.out.println(value);}Example
// Print keys and valuesfor (String key : capitalCities.keySet()) { System.out.println("Key: " + key + ", Value: " + capitalCities.get(key));}HashMap vs LinkedHashMap
| Feature | HashMap | LinkedHashMap |
|---|---|---|
| Order | No guaranteed order | Insertion order preserved |
| Performance | Faster for random access | Slightly slower due to ordering |
| Duplicates | Keys must be unique | Keys must be unique |
Tip: UseLinkedHashMap when you want the map to remember the order in which entries were added.
The var Keyword
From Java 10, you can use thevar keyword to declare aLinkedHashMap variable without writing the type twice. The compiler figures out the type from the value you assign.
This makes code shorter,but many developers still use the full type for clarity. Sincevar is valid Java, you may see it in other code, so it's good to know that it exists:
Example
// Without varLinkedHashMap<String, String> capitalCities = new LinkedHashMap<String, String>();// With varvar capitalCities = new LinkedHashMap<String, String>();The Map Interface
Note: Sometimes you will see bothMap andLinkedHashMap in Java code, like this:
import java.util.Map;import java.util.LinkedHashMap;Map<String, String> capitalCities = new LinkedHashMap<>();This means the variable (capitalCities) is declared as aMap (the interface), but it stores aLinkedHashMap object (the actual map). SinceLinkedHashMap implements theMap interface, this is possible.
It works the same way, but some developers prefer this style because it gives them more flexibility to change the type later.

