Thursday, March 4, 2021

How to get value from Map using Key in Java8

 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

No comments:

Post a Comment

How to get value from Map using Key in Java8

 In Java8, using below code can get value from Map using key: package com.puneet.java8examples; import java.util.HashMap; import java.u...