0
0
JavaHow-ToBeginner · 3 min read

How to Get All Keys of HashMap in Java Easily

To get all keys of a HashMap in Java, use the keySet() method which returns a Set of all keys. You can then iterate over this set or use it directly as needed.
📐

Syntax

The keySet() method is called on a HashMap instance and returns a Set containing all the keys.

  • HashMap<K, V> map: Your map object with keys of type K and values of type V.
  • Set<K> keys = map.keySet();: Retrieves all keys as a set.
java
Set<K> keys = map.keySet();
💻

Example

This example shows how to create a HashMap, add some key-value pairs, get all keys using keySet(), and print them.

java
import java.util.HashMap;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 10);
        map.put("banana", 20);
        map.put("cherry", 30);

        Set<String> keys = map.keySet();

        System.out.println("Keys in the map:");
        for (String key : keys) {
            System.out.println(key);
        }
    }
}
Output
Keys in the map: apple banana cherry
⚠️

Common Pitfalls

One common mistake is trying to get keys as a list directly without converting the Set. Also, modifying the map while iterating over the key set can cause errors.

Remember, keySet() returns a live view of the keys, so changes to the map reflect in the set.

java
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;

public class PitfallExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("one", 1);
        map.put("two", 2);

        // Wrong: Trying to cast keySet() directly to List (will cause ClassCastException)
        // List<String> keysList = (List<String>) map.keySet(); // WRONG

        // Right: Convert keySet() to a List explicitly
        List<String> keysList = new ArrayList<>(map.keySet());
        System.out.println(keysList);
    }
}
Output
[one, two]
📊

Quick Reference

  • Get keys: Set<K> keys = map.keySet();
  • Iterate keys: for (K key : map.keySet()) { ... }
  • Convert to list: new ArrayList<>(map.keySet())

Key Takeaways

Use the keySet() method to get all keys from a HashMap as a Set.
The returned Set is a live view; changes to the map affect the key set.
Convert the key set to a List if you need list-specific operations.
Avoid casting the keySet() directly to a List to prevent errors.
Iterate over keys using a for-each loop for simple access.