In previous post, I have talked about what is Java HashMap, It's constructors, It's methods, example on commonly used method of HashMap before Java 8, and traversal or iterate over HashMap
In this post I will discuss about methods of HashMap
,
was introduced in Java 8.
Here is the topic that will cover in this post.
HashMap method getOrDefault
package com.walking.techie; import java.util.HashMap; public class HashMapGetOrDefaultDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); System.out.println(httpStatus.getOrDefault(429, "Many Requests")); System.out.println(httpStatus.getOrDefault(420, "Default Message")); } }
Output of above program is shown below:
Too Many Requests Default Message
HashMap method forEach
package com.walking.techie; import java.util.HashMap; import java.util.function.BiConsumer; public class HashMapForEachDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); MyBiConsumer action = new MyBiConsumer(); httpStatus.forEach(action); } static class MyBiConsumer implements BiConsumer<Integer, String> { @Override public void accept(Integer key, String value) { System.out.println("Key : " + key + " is processed with value : " + value); } } }
Output of above program is shown below:
Key : 422 is processed with value : Unprocessable Entity Key : 424 is processed with value : Failed Dependency Key : 504 is processed with value : Gateway Timeout Key : 409 is processed with value : Conflict Key : 429 is processed with value : Too Many Requests
HashMap method replaceAll
package com.walking.techie; import java.util.HashMap; import java.util.function.BiFunction; public class HashMapReplaceAllDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); MyBiFunction action = new MyBiFunction(); httpStatus.replaceAll(action); for (Integer code : httpStatus.keySet()) { System.out.println("Http Status Code : " + code + " Http Message : " + httpStatus.get(code)); } } private static class MyBiFunction implements BiFunction<Integer, String, String> { @Override public String apply(Integer key, String value) { return key + "-->" + value; } } }
Output of above program is shown below:
Http Status Code : 422 Http Message : 422-->Unprocessable Entity Http Status Code : 424 Http Message : 424-->Failed Dependency Http Status Code : 504 Http Message : 504-->Gateway Timeout Http Status Code : 409 Http Message : 409-->Conflict Http Status Code : 429 Http Message : 429-->Too Many Requests
HashMap method putIfAbsent
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; public class HashMapPutIfAbsentDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.putIfAbsent(429, "Dependency failed."); httpStatus.putIfAbsent(401, "Unauthorized"); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } }
Output of above program is shown below:
Http Status Code : 401 Http Message : Unauthorized Http Status Code : 422 Http Message : Unprocessable Entity Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Too Many Requests
HashMap method remove
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; public class HashMapRemoveDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.remove(429); // It will remove from map httpStatus.remove(422, "Unprocessable Entity"); // It will not remove from map httpStatus.remove(504, "Gateway time over"); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } }
Output of above program is shown below:
Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict
HashMap method replace
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; public class HashMapReplaceDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.replace(429, "Many Requests"); httpStatus.replace(504, "Gateway Timeout", "Timeout happened in Gateway"); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } }
Output of above program is shown below:
Http Status Code : 422 Http Message : Unprocessable Entity Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Timeout happened in Gateway Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Many Requests
HashMap method computeIfAbsent
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; import java.util.function.Function; public class HashMapComputeIfAbsentDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.computeIfAbsent(401, new MyFunction()); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } private static class MyFunction implements Function<Integer, String> { @Override public String apply(Integer integer) { return "Unauthorized"; } } }
Http Status Code : 401 Http Message : Unauthorized Http Status Code : 422 Http Message : Unprocessable Entity Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Too Many Requests
HashMap method computeIfPresent
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; import java.util.function.BiFunction; public class HashMapComputeIfPresentDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.computeIfPresent(424, new MyBiFunction()); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } private static class MyBiFunction implements BiFunction<Integer, String, String> { @Override public String apply(Integer key, String value) { return key + "--->" + value; } } }
Output of above program is shown below:
Http Status Code : 422 Http Message : Unprocessable Entity Http Status Code : 424 Http Message : 424--->Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Too Many Requests
HashMap method compute
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; import java.util.function.BiFunction; public class HashMapComputeDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); httpStatus.compute(422, new MyBiFunction()); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } private static class MyBiFunction implements BiFunction<Integer, String, String> { @Override public String apply(Integer key, String value) { return key + "--->" + value; } } }
Output of above program is shown below:
Http Status Code : 422 Http Message : 422--->Unprocessable Entity Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Too Many Requests
HashMap method merge
package com.walking.techie; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set; import java.util.function.BiFunction; public class HashMapMergeDemo { public static void main(String[] args) { HashMap<Integer, String> httpStatus = new HashMap<>(); httpStatus.put(424, "Failed Dependency"); httpStatus.put(422, "Unprocessable Entity"); httpStatus.put(429, "Too Many Requests"); httpStatus.put(504, "Gateway Timeout"); httpStatus.put(409, "Conflict"); MyBiFunction myBiFunction = new MyBiFunction(); // key is not present httpStatus.merge(401, "Unauthorized", myBiFunction); // key is present httpStatus.merge(429, "So many requests", myBiFunction); Set<Entry<Integer, String>> entrySet = httpStatus.entrySet(); for (Entry<Integer, String> entry : entrySet) { System.out.println("Http Status Code : " + entry.getKey() + " Http Message : " + entry.getValue()); } } private static class MyBiFunction implements BiFunction<String, String, String> { @Override public String apply(String key, String value) { return key + "--->" + value; } } }
Output of above program is shown below:
Http Status Code : 401 Http Message : Unauthorized Http Status Code : 422 Http Message : Unprocessable Entity Http Status Code : 424 Http Message : Failed Dependency Http Status Code : 504 Http Message : Gateway Timeout Http Status Code : 409 Http Message : Conflict Http Status Code : 429 Http Message : Too Many Requests--->So may requests
No comments :
Post a Comment