In Java8, using below code can get value from Map using key:
package com.puneet.java8examples;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class GetValueFromMap {
public static void main(String[] args) {
Map<Integer,String> carMap = new HashMap<>();
carMap.put(1, "Honda");
carMap.put(2, "Hundai");
carMap.put(3, "Renault");
carMap.put(4, "Yamaha");
//In Java8 - fetch value from map using key
// Fetch car model basis of key
Integer key = 2;
Optional<String> carModel = carMap.entrySet().stream().
filter(e-> e.getKey()==key).map(Map.Entry::getValue).findFirst();
//without using map function, can directly use findFirst() function
String carModel2 = carMap.entrySet().stream().
filter(e-> e.getKey()==key).findFirst().get().getValue();
System.out.println("Car_key:"+key+" Car_Model:"+ carModel2);
if (carModel.isPresent()) {
System.out.println("Car_key:"+key+" Car_Model:"+ carModel.get());
}
//In Java8 - fetch key from map using value
// Fetch key basis of car model
String carName = "Honda";
Optional<Integer> carKey = carMap.entrySet().stream().
filter(e-> e.getValue()==carName).map(Map.Entry::getKey).findFirst();
//without using map function, can directly use findFirst() function
Integer carKey2 = carMap.entrySet().stream().
filter(e-> e.getValue()==carName).findFirst().get().getKey();
System.out.println("\nCar_Model:" + carName + " Car_key:"+ carKey2);
if (carKey.isPresent()) {
System.out.println("\nCar_Model:" + carName + " Car_key:"+ carKey.get());
}
}
}
Output:
Car_key:2 Car_Model:Hundai
Car_key:2 Car_Model:Hundai
Car_Model:Honda Car_key:1
Car_Model:Honda Car_key:1


