Maps in Java represent a collection of key-value pairs where each key is unique. They allow efficient retrieval, insertion, and deletion of elements based on keys. The Java Collections Framework provides several implementations of the Map interface. Here's an explanation along with examples:
Explanation:
1. Key-Value Pairs:
- Maps store data in key-value pairs.
- Each key is associated with exactly one value, and keys are unique within a Map.
2. No Duplicate Keys:
- Keys in a Map must be unique. Adding a duplicate key will replace the existing value.
3. Key-Based Operations:
- Maps provide methods to manipulate elements based on keys, such as `put()`, `get()`, `remove()`, etc.
4. Common Implementations:
- `HashMap`: Implements a hash table for storing key-value pairs.
- `TreeMap`: Implements a sorted map using a Red-Black tree.
- `LinkedHashMap`: Maintains insertion order.
Example Demonstrations:
Let's demonstrate using some common implementations of the Map interface:
1. HashMap Example:
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, Integer> map = new HashMap<>();
// Adding key-value pairs to the map
map.put("Apple", 10);
map.put("Banana", 20);
map.put("Orange", 15);
map.put("Apple", 30); // Overwrites the previous value
// Printing the map
System.out.println("Map: " + map);
// Removing a key-value pair
map.remove("Banana");
// Checking if a key is present
System.out.println("Contains key 'Orange'? " + map.containsKey("Orange"));
// Size of the map
System.out.println("Size of map: " + map.size());
}
}
2. TreeMap Example:
import java.util.Map;
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
// Creating a TreeMap
Map<String, Integer> map = new TreeMap<>();
// Adding key-value pairs to the map
map.put("Orange", 15);
map.put("Apple", 10);
map.put("Banana", 20);
// Printing the map
System.out.println("Map: " + map);
}
}
3. LinkedHashMap Example:
import java.util.LinkedHashMap;
import java.util.Map;
public class LinkedHashMapExample {
public static void main(String[] args) {
// Creating a LinkedHashMap
Map<String, Integer> map = new LinkedHashMap<>();
// Adding key-value pairs to the map
map.put("Orange", 15);
map.put("Apple", 10);
map.put("Banana", 20);
// Printing the map
System.out.println("Map: " + map);
}
}
Output:
1. HashMap Example:
Map: {Orange=15, Apple=30}
Contains key 'Orange'? true
Size of map: 2
2. TreeMap Example:
Map: {Apple=10, Banana=20, Orange=15}
3. LinkedHashMap Example:
Map: {Orange=15, Apple=10, Banana=20}
These examples demonstrate the usage of HashMap, TreeMap, and LinkedHashMap, highlighting their unique characteristics and behavior. Depending on your requirements, you can choose the appropriate Map implementation.
Comments
Post a Comment