Difference Between keySet() vs value() Method in Java Map
Map Interface is present in Java.util package, which provides mainly three methods KeySet(),entrySet() and values(). These methods are used to retrieve the keys of the map, key-value pairs of the map, and values of the map respectively. Since these methods are part of Map Interface, so we can use can these methods with all the classes implementing the map interface like TreeMap, HashMap, and LinkedHashMap.
In order to figure out the differences lets us first go through them individually conceptually followed by the implementation to figure out major differences between them.
Method 1: keySet() method
This method is used to return a Set view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa.
Syntax:
Set keySet()
Parameters: This method has no argument.
Returns: This method returns a set containing keys of the specified map.
Implementation:
Example
Java
// Java program demonstrating use of keySet() method // Importing HashMap, Iterator, MAp and Stream classes // from java.util package import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.stream.Stream; // Class class GFG { // Main driver method public static void main(String[] args) { // Creating object of Map Class // Declaring object of Interfere and string type Map<Integer, String> map = new HashMap<>(); // Adding the elements to the objects // Elements here are key-value pairs in the map // Custom input entries map.put( 1 , "Beginner" ); map.put( 2 , "For" ); map.put( 3 , "Beginner" ); // Now, different ways of iteration are illustrated // to showcase keySet() method // Way 1 // Iterating the keySet() using iterator // Creating an object of Integer type Iterator<Integer> itr = map.keySet().iterator(); // Condition check where hasNext() method holds true // till there is single element remaining in the List while (itr.hasNext()) { // Print all the elements(key-value pairs) System.out.print(itr.next() + " " ); } // New line System.out.println(); // Way 2 // Iterating the keySet() // using for loop for (Integer key : map.keySet()) { // Print all the key-value pairs System.out.print(key + " " ); } // New line System.out.println(); // Way 3 // Iterating over the keySet() by // converting the map to the string // using the toString() method System.out.println(map.keySet().toString()); } } |
1 2 3 1 2 3 [1, 2, 3]
Method 2: values() method
The java.util.HashMap.values() method of HashMap class in Java is used to create a collection out of the values of the map. It basically returns a Collection view of the values in the HashMap.
Syntax:
Hash_Map.values()
Parameters: The method does not accept any parameters.
Return Value: The method is used to return a collection view containing all the values of the map.
Implementation: Below is the Java Program using values() method
Example
Java
// Java program demonstrating use of values() method // Importing several classes from // java.util package import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.stream.Stream; // Class // Main class public class GFG { // Main driver method public static void main(String[] args) { // Making map of Integer keys and String values Map<Integer, String> map = new HashMap<>(); // Adding the elements to the above object // Declaring object of Integer and String type // Elements here are key-value pairs // Custom input entries map.put( 1 , "Beginner" ); map.put( 2 , "For" ); map.put( 3 , "Beginner" ); // values() method implemented by // demonstrating different ways of traversal // Way 1 // Iterating the values() method // using iterator Iterator itr = map.values().iterator(); // Condition check using hasNet() method which // holds true till there is single element remaining while (itr.hasNext()) { System.out.print(itr.next() + " " ); } System.out.println(); // Way 2 // Iterating the values() method // using for each loop for (String key : map.values()) { System.out.print(key + " " ); } System.out.println(); // Way 3 // iterating over the values() method // by converting the map to the string // using the toString() method System.out.println(map.values().toString()); } } |
Beginner For Beginner Beginner For Beginner [Beginner, For, Beginner]
Now finally landing onto the conclusion, let us see the differences between keySet() Method and values() Method is as follows:
Contact Us