您好,登錄后才能下訂單哦!
本篇內容介紹了“JavaMap的keySet與entrySet遍歷方式怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
實現步驟:
(1)使用Map集合中的方法keySet(),把Map集合所有的key取出來,存儲到一個Set集合中
(2)遍歷set集合,獲得Map集合中的每一個key
(3)通過Map集合中的方法get(key),通過key找到value
@Test public void testKeySet() { Map<String, Integer> map = new ConcurrentHashMap<>(16); map.put("one",1); map.put("two",2); map.put("three",3); // 1.增強for循環遍歷map中的key for (String key : map.keySet()) { // 通過key找到對應的value Integer value = map.get(key); System.out.println(key + "->" +value); } System.out.println("------------------------"); // 2.使用迭代器來進行遍歷(map集合中所有的key取出來,存儲到Set集合中) Iterator<String> iteratorKey = map.keySet().iterator(); while (iteratorKey.hasNext()){ String key = iteratorKey.next(); Integer value = map.get(key); System.out.println(key + "->" +value); } }
實現步驟:
(1)Map.entrySet()把map的鍵值映射成Set集合
(2)Map.entrySet迭代器會生成EntryIterator,其返回的實例是一個包含key/value鍵值對的對象
(3)getKey(): 返回鍵值對的key
(4)getValue(): 返回鍵值對的value
@Test public void testEntrySet() { Map<String, Integer> map = new ConcurrentHashMap<>(16); map.put("one",1); map.put("two",2); map.put("three",3); // Map.entrySet迭代器會生成EntryIterator,其返回的實例是一個包含key/value鍵值對的對象。 // 而keySet中迭代器返回的只是key對象,還需要到map中二次取值。故entrySet要比keySet快一倍左右。 Set<Map.Entry<String, Integer>> entries = map.entrySet(); Iterator<Map.Entry<String, Integer>> entryIterator = entries.iterator(); while (entryIterator.hasNext()){ // 迭代出來的是每一個實例的對象,包含鍵值對 Map.Entry<String, Integer> entry = entryIterator.next(); String key = entry.getKey(); Integer value = entry.getValue(); System.out.println(key + "->" + value); } }
(1)keySet獲取value只能通過先獲取key才能得到value
(2)entrySet在迭代之后可以直接從迭代出來的實例對象中直接獲取Key和Value
(3)兩個方法遍歷的結果都一樣,若對查詢速度有要求就選entrySet(),entrySet可以提高性能。
“JavaMap的keySet與entrySet遍歷方式怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。