Java中遍歷Map的六種方法實現(xiàn)
更新時間:2023年05月16日 08:32:11 作者:Janson666
這篇文章主要介紹了Java中遍歷Map的六種方法,Map是常用的數(shù)據(jù)結(jié)構(gòu)之一,它提供了鍵值對的存儲方式,可以方便地進行數(shù)據(jù)查找和操作,感興趣想要詳細了解可以參考下文
1. 遍歷map方法
- 通過 keySet() 方法獲取全部的key值;
- 通過 values() 方法獲取全部的value值;
- 通過遍歷key值獲取value值;
- 通過entrySet()方法,進行遍歷;
- 使用lambda表達式;
- 采用迭代器方式,方便進行元素的刪除操作;
2. 方案實現(xiàn)
2.1 獲取全部的key值
/**
* 1.獲取全部的key值
*/
public void testMap1(){
HashMap<String, Object> map = new HashMap<>();
Set<String> keySet = map.keySet();
for (String key: keySet){
System.out.println(key);
}
}2.2 獲取全部的value值
/**
* 2.獲取全部的value值
*/
public void testMap2(){
HashMap<String, Object> map = new HashMap<>();
Collection<Object> values = map.values();
for (Object value: values){
System.out.println(value);
}
}2.3 通過遍歷key值獲取value值
/**
* 3.通過遍歷key值獲取value值
*/
public void testMap3(){
HashMap<String, Object> map = new HashMap<>();
Set<String> keySet = map.keySet();
for (String key: keySet){
Object value = map.get(key);
System.out.println(value);
}
}2.4 通過entrySet()方法進行遍歷
/**
* 4.通過entrySet()方法,進行遍歷
*/
public void testMap4(){
HashMap<String, Object> map = new HashMap<>();
Set<Map.Entry<String, Object>> entrySet = map.entrySet();
for (Map.Entry<String, Object> entry: entrySet){
// entry代表map元素的一個對象,通過對象調(diào)用getValue()方法,獲取value數(shù)據(jù),也可以調(diào)用getKey()方法,獲取key值
Object value = entry.getValue();
System.out.println(value);
}
}2.5 使用lambda表達式
/**
* 5.使用lambda表達式
*/
public void testMap5(){
HashMap<String, Object> map = new HashMap<>();
map.forEach((key,value)->{
// 直接獲取key值和value值
System.out.println("key: " + key + "value: " + value);
});
}2.6 采用迭代器方式方便進行元素的刪除操作
/**
* 6.采用迭代器方式,方便進行元素的刪除操作
*/
@Test
public void testMap6(){
HashMap<String, Object> map = new HashMap<>();
map.put("77","6666");
Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, Object> entry = iterator.next();
if (entry.getKey().equals("77")){
iterator.remove();
}
}
}3. 總結(jié)
- 如果只需要key值,則直接使用 keySet()方式;
- 如果只需要value值,則直接使用values() 方式;
- 如果需要進行遍歷key,value,可以用entrySet() 或者 lambda表達式;
- 如果需要進行遍歷刪除,可以用 iterator() 迭代器方式;
到此這篇關(guān)于Java中遍歷Map的六種方法實現(xiàn)的文章就介紹到這了,更多相關(guān)Java遍歷Map內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程的生命周期和狀態(tài)控制_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java線程的生命周期和狀態(tài)控制,需要的朋友可以參考下2017-05-05
SpringBoot日志進階實戰(zhàn)之Logback配置經(jīng)驗和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗和方法,并提供了詳細的代碼示例和解釋,包括:滾動文件、異步日志記錄、動態(tài)指定屬性、日志級別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識點,感興趣的朋友跟隨小編一起看看吧2023-06-06
Spring?框架中的?Bean?作用域(Scope)使用詳解
Spring框架中的Bean作用域(Scope)決定了在應(yīng)用程序中創(chuàng)建和管理的Bean對象的生命周期和可見性。本文將詳細介紹Spring框架中的Bean作用域的不同類型,包括Singleton、Prototype、Request、Session和Application,并解釋它們的特點和適用場景。2023-09-09
Java并發(fā)編程之詳解CyclicBarrier線程同步
在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下2021-06-06

