Java中遍歷Map的六種方法實(shí)現(xiàn)
1. 遍歷map方法
- 通過 keySet() 方法獲取全部的key值;
- 通過 values() 方法獲取全部的value值;
- 通過遍歷key值獲取value值;
- 通過entrySet()方法,進(jìn)行遍歷;
- 使用lambda表達(dá)式;
- 采用迭代器方式,方便進(jìn)行元素的刪除操作;
2. 方案實(shí)現(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()方法進(jìn)行遍歷
/**
* 4.通過entrySet()方法,進(jìn)行遍歷
*/
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元素的一個(gè)對(duì)象,通過對(duì)象調(diào)用getValue()方法,獲取value數(shù)據(jù),也可以調(diào)用getKey()方法,獲取key值
Object value = entry.getValue();
System.out.println(value);
}
}2.5 使用lambda表達(dá)式
/**
* 5.使用lambda表達(dá)式
*/
public void testMap5(){
HashMap<String, Object> map = new HashMap<>();
map.forEach((key,value)->{
// 直接獲取key值和value值
System.out.println("key: " + key + "value: " + value);
});
}2.6 采用迭代器方式方便進(jìn)行元素的刪除操作
/**
* 6.采用迭代器方式,方便進(jìn)行元素的刪除操作
*/
@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() 方式;
- 如果需要進(jìn)行遍歷key,value,可以用entrySet() 或者 lambda表達(dá)式;
- 如果需要進(jìn)行遍歷刪除,可以用 iterator() 迭代器方式;
到此這篇關(guān)于Java中遍歷Map的六種方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java遍歷Map內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程的生命周期和狀態(tài)控制_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java線程的生命周期和狀態(tài)控制,需要的朋友可以參考下2017-05-05
Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例
這篇文章主要介紹了Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-09-09
SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗(yàn)和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動(dòng)文件、異步日志記錄、動(dòng)態(tài)指定屬性、日志級(jí)別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧2023-06-06
Spring?框架中的?Bean?作用域(Scope)使用詳解
Spring框架中的Bean作用域(Scope)決定了在應(yīng)用程序中創(chuàng)建和管理的Bean對(duì)象的生命周期和可見性。本文將詳細(xì)介紹Spring框架中的Bean作用域的不同類型,包括Singleton、Prototype、Request、Session和Application,并解釋它們的特點(diǎn)和適用場(chǎng)景。2023-09-09
Java并發(fā)編程之詳解CyclicBarrier線程同步
在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下2021-06-06
java反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例
下面小編就為大家?guī)?lái)一篇java反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-08-08
Java的字符串中對(duì)子字符串的查找方法總結(jié)
這篇文章主要介紹了Java的字符串中對(duì)子字符串的查找方法總結(jié),是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11

