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
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
class GFG {
public static void main(String[] args)
{
Map<Integer, String> map = new HashMap<>();
map.put( 1 , "Geeks" );
map.put( 2 , "For" );
map.put( 3 , "Geeks" );
Iterator<Integer> itr = map.keySet().iterator();
while (itr.hasNext()) {
System.out.print(itr.next() + " " );
}
System.out.println();
for (Integer key : map.keySet()) {
System.out.print(key + " " );
}
System.out.println();
System.out.println(map.keySet().toString());
}
}
|
Output
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
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Stream;
public class GFG {
public static void main(String[] args)
{
Map<Integer, String> map = new HashMap<>();
map.put( 1 , "Geeks" );
map.put( 2 , "For" );
map.put( 3 , "Geeks" );
Iterator itr = map.values().iterator();
while (itr.hasNext()) {
System.out.print(itr.next() + " " );
}
System.out.println();
for (String key : map.values()) {
System.out.print(key + " " );
}
System.out.println();
System.out.println(map.values().toString());
}
}
|
Output
Geeks For Geeks
Geeks For Geeks
[Geeks, For, Geeks]
Now finally landing onto the conclusion, let us see the differences between keySet() Method and values() Method is as follows:
keySet() method |
values() method |
This method returns the Set view of all the keys present in the map, ie it returns a set of keys. |
This method returns the collection view of all the values contained in the map. |
If any changes happen to the map, then they can be observed in the set also, as a set is backed up by the map. |
If any changes happen to the map, then they can be observed in the collection also, as the collection is backed up by the map. |
This method is used only when we need to deal with all the keys present in the map. |
This method is used when we only need to deal with all the values present in the map. |
Last Updated :
07 Mar, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...