HashMap keySet() Method in Java
The keySet() method of HashMap returns a set of keys contained in it. Any changes to the map also modify the returned set and vice versa.
Removing value from the set also removes the associated key/value pair from the Hashmap. There is no provision to do add operations on the returned set.
While iterating the returned set if you modify the underlying HashMap then the outcome of the iteration is unknown.
Use this method when you want to get the keys from the HashMap.
Method Signature
public SetketSet()
Parameters
It does not accept any parameter.
Return value
It returns the set of keys present in the HashMap
Program
import java.util.HashMap; import java.util.Map; import java.util.Set; // This program shows // how to use keySet() method // to get the set of keys from the HashMap public class HashMapKeySet { public static void main(String[] args) { // Create an instance of HashMap Mapmap = new HashMap<>(); // Add values to the map map.put(101, "John"); map.put(102, "Adam"); map.put(103, "Ricky"); map.put(104, "Chris"); // Entries present in the map System.out.println("Map elements : " + map); // Keys present in the map Set keys = map.keySet(); System.out.println("Keys in the map : " + keys); // Remove key from the set // This operation will also remove // associated entry from the HashMap keys.remove(101); System.out.println("After removing 101."); System.out.println("Keys in the map : " + keys); System.out.println("Map elements: " + map); } }
Output
Map elements : {101=John, 102=Adam, 103=Ricky, 104=Chris} Keys in the map : [101, 102, 103, 104] After removing 101. Keys in the map : [102, 103, 104] Map elements: {102=Adam, 103=Ricky, 104=Chris}
Explanation
- Create an instance of HashMap
- Add four elements to it
- At this point, the HashMap has four elements with keys 101, 102, 103, and 104
- Use the keySet() method to get the keys in HashMap
- You can remove elements from the returned set and the underlying HashMap will also remove the associated value.
- We removed key 101 and set the associated entry from the HashMap also got removed.
- If you are iterating the returned set and the HashMap is modified then the outcome of iteration cannot be predicted.