Difference Between keySet() vs value() Method in Java Map
Last Updated :
07 Mar, 2022
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, "Geeks");
map.put(2, "For");
map.put(3, "Geeks");
// 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());
}
}
Output1 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, "Geeks");
map.put(2, "For");
map.put(3, "Geeks");
// 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());
}
}
OutputGeeks 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. |
Similar Reads
Difference Between value() vs entrySet() 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 ca
5 min read
Difference Between keySet() and entrySet() 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 th
4 min read
Difference between List, Set and Map in Java
List interface in Java is a sub-interface of the Java collections interface. It contains the index-based methods to insert, update, delete, and search the elements. It can have duplicate elements also. We can also store the null elements in the list. List preserves the insertion order, it allows pos
4 min read
Difference between TreeMap and TreeSet in Java
TreeSet is mainly an implementation of SortedSet in java where duplication is not allowed and objects are stored in sorted and ascending order. Some important features of the TreeSet are: In TreeSet duplicate values are not allowed because it implements the SortedSet interface.Objects in a TreeSet a
2 min read
Difference Between List and Set in Java
The List interface allows storing the ordered collection. It is a child interface of Collection. It is an ordered collection of objects in which duplicate values are allowed to store. List preserves the insertion order, it allows positional access and insertion of elements. Declaration: public abstr
2 min read
Difference Between LinkedList and LinkedHashSet in Java
In this article you will learn difference between LinkedList and LinkedHashSet in java. Prerequisite: LinkedList : LinkedHashSet LinkedList class implements the List and Deque interface and extends from AbstractSequentialList class. LinkedList class uses doubly linked list to store the elements. It
3 min read
What is the difference between Map and WeakMap in JavaScript ?
In this article, we will talk about the difference between Map and WeakMap which are introduced by ES6. Javascript object supports only one key object. For supporting multiple key objects, Then Map comes on this path. Map: A Map is an unordered list of key-value pairs where the key and the value can
4 min read
Map keySet() Method in Java with Examples
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. Example:Java// Java Program Implementing Map // keySet() Method import java.util.*; public class GfG { public static void main(Str
2 min read
Differences between TreeMap, HashMap and LinkedHashMap in Java
Prerequisite: HashMap and TreeMap in Java TreeMap, HashMap and LinkedHashMap: What's Similar? All offer a key->value map and a way to iterate through the keys. The most important distinction between these classes is the time guarantees and the ordering of the keys.All three classes HashMap, TreeM
5 min read
Difference between HashMap and HashSet
HashSet is an implementation of Set Interface which does not allow duplicate value. The main thing is, objects that are stored in HashSet must override equals() for check for equality, and hashCode() methods for no duplicate value are stored in our set. HashMap is an implementation of Map Interface,
4 min read