How To Iterate Through Concurrenthashmap Too Impress All Keys Too Values Inward Java
Suppose y'all receive got a ConcurrentHashMap of String in addition to Integer in addition to y'all desire to impress all keys in addition to values, how produce y'all that? This is a common, solar daytime to solar daytime programming trace of piece of job for Java programmer in addition to at that topographic point are many ways to produce it. The Map interface provides several sentiment methods e.g. keySet(), values(), in addition to entrySet() to retrieve all keys, values, in addition to all cardinal in addition to value pairs equally entries. You tin operate respective methods to impress all keys, all values, or all cardinal values pairs. For printing, y'all equally good receive got multiple alternative e.g. y'all tin either operate enhanced for loop or Iterator, though afterwards equally good render y'all the facility to take cardinal value pairs spell printing if needed. Though y'all should think that these views are backed yesteryear Map, so when y'all take a key-value yoke from entry fix it volition equally good move removed yesteryear the ConcurrentHashMap.
This technique is equally good the criterion way to iterate over Map in addition to impress all key-value pairs. You tin operate this technique to impress all keys, values or entries amongst whatever Map implementations including HashMap, Hashtable, LinkedHashMap, EnumMap, IdentityHashMap, WeakHashMap or whatever other futurity implementations. How is that possible? because nosotros are using the methods defined on Map interface in addition to non on ConcurrentHashMap.
It's guaranteed that novel Map implementation volition implement the java.util.Map interface thus it volition receive got the keySet(), values(), in addition to entrySet() method, which way this code volition piece of job there.
This is equally good the beauty of programming for interfaces than implementations, 1 of the of import object oriented pattern principle. in addition to y'all should ever produce that inwards Java or whatever other object-oriented programming language. To read to a greater extent than near it I strongly propose reading origin few chapters of Head First object oriented Analysis in addition to design.
Btw, if y'all are non familiar amongst concurrent collections e.g. ConcurrentHashMap in addition to wants to larn how they are dissimilar from traditional HashMap in addition to then I propose y'all to refer Core Java Volume 1 - Fundamentals yesteryear Cay S. Horstmann, 1 of the nifty books to larn basics of Java.
Java Program to iterate in addition to impress keys in addition to values of ConcurrentHashMap
You tin run into nosotros receive got successfully printed all keys in addition to all key-value yoke from ConcurrentHashMap yesteryear using keySet() in addition to entrySet() inwards Java. I haven't tried removing a cardinal value pair, simply y'all tin do, simply solely spell traversing a Map using Iterator.
Btw, if y'all are non familiar of ConcurrentHashMap and how it hit ameliorate scalability than synchronized HashMap inwards Java in addition to then y'all should receive got a await at below diagram. You tin run into that it divides the whole map into Segments in addition to at a fourth dimension solely 1 of those Segments is locked instead of entire Map, which is the instance amongst synchronized HashMap. This helps it to hit ameliorate Scalability. (see Big Java: Early Objects to larn to a greater extent than near internal working of ConcurrentHashMap inwards Java)
That's all near how to impress all cardinal in addition to value pairs from ConcurrentHashMap inwards Java. As I said, y'all tin operate this technique to impress keys, values in addition to entries amongst whatever Map classes e.g. HashMap, LinkedHashMap or TreeMap. You tin equally good take mapping using the remove() method of Iterator in addition to it volition delete entry non solely from the entry fix simply equally good from the Map itself. As long equally y'all are using methods from Map interface, it's guaranteed that code volition piece of job amongst whatever Map implementations inwards future.
Further Learning
Java In-Depth: Become a Complete Java Engineer
answer)Difference betwixt Synchronized in addition to Concurrent Collection inwards Java? (answer) 5 Concurrent Collections Every Java Developer Should Know (list) Difference betwixt a fail-fast in addition to fail-safe Iterator inwards Java? (answer) Difference betwixt ConcurrentHashMap in addition to HashMap inwards Java? (answer) Frequently asked Java Collection Interview Questions in addition to Answers (list)
This technique is equally good the criterion way to iterate over Map in addition to impress all key-value pairs. You tin operate this technique to impress all keys, values or entries amongst whatever Map implementations including HashMap, Hashtable, LinkedHashMap, EnumMap, IdentityHashMap, WeakHashMap or whatever other futurity implementations. How is that possible? because nosotros are using the methods defined on Map interface in addition to non on ConcurrentHashMap.
It's guaranteed that novel Map implementation volition implement the java.util.Map interface thus it volition receive got the keySet(), values(), in addition to entrySet() method, which way this code volition piece of job there.
This is equally good the beauty of programming for interfaces than implementations, 1 of the of import object oriented pattern principle. in addition to y'all should ever produce that inwards Java or whatever other object-oriented programming language. To read to a greater extent than near it I strongly propose reading origin few chapters of Head First object oriented Analysis in addition to design.
Print all keys in addition to values of ConcurrentHashMap
Here is our sample Java programme to impress all entries from ConcurrentHashMap. I receive got initially created a Map amongst String equally keys in addition to Integer equally values. It genuinely contains the toll of pop tablets in addition to kindle devices. Later I had shown how to impress all keys using keySet() in addition to all cardinal in addition to value yoke using entrySet() inwards combination amongst for loop in addition to Iterator.Btw, if y'all are non familiar amongst concurrent collections e.g. ConcurrentHashMap in addition to wants to larn how they are dissimilar from traditional HashMap in addition to then I propose y'all to refer Core Java Volume 1 - Fundamentals yesteryear Cay S. Horstmann, 1 of the nifty books to larn basics of Java.
Java Program to iterate in addition to impress keys in addition to values of ConcurrentHashMap
import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; /* * Java Program to impress all key-value pairs of ConcurrentHashMap * There are multiple ways to produce this e.g. yesteryear using keySet(), entrySet() * inwards combination of for loop in addition to iterator. */ public class ConcurrentHashMapDemo { public static void main(String[] args) { Map<String, Integer> map = new ConcurrentHashMap<String, Integer>(); map.put("Kindle", 99); map.put("Samsung tablet", 200); map.put("iPad", 1000); map.put("iPad Mini", 600); // printing all keys of ConcurrentHashMap System.out.println("All keys of ConcurrentHashMap"); for (String cardinal : map.keySet()) { System.out.println(key + " : " + map.get(key)); } // printing all keys in addition to values pairs of ConcurrentHashMap System.out.println("Printing all keys in addition to values of ConcurrentHashMap"); for (Map.Entry<String, Integer> entry : map.entrySet()) { String cardinal = entry.getKey().toString(); Integer value = entry.getValue(); System.out.println("key: " + cardinal + " value: " + value); } // y'all tin equally good operate Iterator amongst EntrySet equally shown below Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); Iterator<Map.Entry<String, Integer>> itr = entrySet.iterator(); while (itr.hasNext()) { Map.Entry<String, Integer> entry = itr.next(); String cardinal = entry.getKey(); Integer value = entry.getValue(); System.out.println("key: " + cardinal + " value: " + value); } } } Output iPad Mini : 600 Kindle : 99 Samsung tablet : 200 iPad : K key: iPad Mini value: 600 key: Kindle value: 99 key: Samsung tablet value: 200 key: iPad value: K key: iPad Mini value: 600 key: Kindle value: 99 key: Samsung tablet value: 200 key: iPad value: 1000
You tin run into nosotros receive got successfully printed all keys in addition to all key-value yoke from ConcurrentHashMap yesteryear using keySet() in addition to entrySet() inwards Java. I haven't tried removing a cardinal value pair, simply y'all tin do, simply solely spell traversing a Map using Iterator.
Btw, if y'all are non familiar of ConcurrentHashMap and how it hit ameliorate scalability than synchronized HashMap inwards Java in addition to then y'all should receive got a await at below diagram. You tin run into that it divides the whole map into Segments in addition to at a fourth dimension solely 1 of those Segments is locked instead of entire Map, which is the instance amongst synchronized HashMap. This helps it to hit ameliorate Scalability. (see Big Java: Early Objects to larn to a greater extent than near internal working of ConcurrentHashMap inwards Java)
That's all near how to impress all cardinal in addition to value pairs from ConcurrentHashMap inwards Java. As I said, y'all tin operate this technique to impress keys, values in addition to entries amongst whatever Map classes e.g. HashMap, LinkedHashMap or TreeMap. You tin equally good take mapping using the remove() method of Iterator in addition to it volition delete entry non solely from the entry fix simply equally good from the Map itself. As long equally y'all are using methods from Map interface, it's guaranteed that code volition piece of job amongst whatever Map implementations inwards future.
Further Learning
Java In-Depth: Become a Complete Java Engineer
answer)
0 Response to "How To Iterate Through Concurrenthashmap Too Impress All Keys Too Values Inward Java"
Post a Comment