国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】遍歷 Map 時(shí)刪除 Map 中元素

這篇具有很好參考價(jià)值的文章主要介紹了【Java】遍歷 Map 時(shí)刪除 Map 中元素。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

https://blog.csdn.net/LSKCGH/article/details/97521668
https://www.jianshu.com/p/a3b3aae6697c

不能直接在 Map 的 for 循環(huán)中使用 remove 方法,會(huì)拋出 ConcurrentModificationException 異常,應(yīng)使用迭代器中的 remove 方法刪除元素。

以下代碼運(yùn)行時(shí)會(huì)拋出 ConcurrentModificationException:

import java.util.HashMap;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>();
        //初始化map
        for (int i = 0; i < 10; i++) {
            map.put(i, i);
        }
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if (entry.getKey() == 1) {
                map.remove(entry.getKey());
            }
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
}

解決方案如下:

示例1:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>();
        //初始化map
        for (int i = 0; i < 10; i++) {
            map.put(i, i);
        }
        Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<Integer, Integer> next = iterator.next();
            int key = next.getKey();
            int value = next.getValue();
            if (key == 1) {
                iterator.remove();
            }
            System.out.println(key + " " + value);
        }
    }
}

示例2:文章來源地址http://www.zghlxwxcb.cn/news/detail-596629.html

import java.util.*;

public class Test {
    public static void main(String[] args) {
        Map<String, Map<String, Long>> appIdChannelAgg = new HashMap<String, Map<String, Long>>() {{
            put("saf0", new HashMap<String, Long>() {{
                put("10", 454L);
            }});
            put("saf1", new HashMap<String, Long>() {{
                put("11", 454L);
            }});
            put("saf2", new HashMap<String, Long>() {{
                put("12", 454L);
            }});
        }};
        List<String> hzList = Arrays.asList("fas", "dfa", "saf0");
        Iterator<String> iterator = appIdChannelAgg.keySet().iterator();
        while (iterator.hasNext()) {
            String appId = iterator.next();
            if (!hzList.contains(appId)) {
                iterator.remove();
            }
        }
        System.out.println(appIdChannelAgg);
    }
}

到了這里,關(guān)于【Java】遍歷 Map 時(shí)刪除 Map 中元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java基礎(chǔ)】Map遍歷的5種方式

    創(chuàng)建一個(gè)集合 方式一:Iterator 迭代器遍歷 map.entrySet().iterator(); map.keySet().iterator(); 方式二:For Each方式遍歷 map.forEach(BiConsumer action) 方式三:獲取Collection集合 map.values().forEach() 方式四:增強(qiáng)for遍歷map map.entrySet().for map.keySet().for 方法五:Stream流遍歷 map.entrySet().stream().forEach() m

    2024年02月09日
    瀏覽(23)
  • Java如何遍歷Map對(duì)象集合(多種方式)6種方式

    今天比昨天,更優(yōu)秀 Map簡(jiǎn)介 Map是用于保存具有映射關(guān)系的數(shù)據(jù),保存兩組值,key和value,這兩組值可以是任何應(yīng)用類型的數(shù)據(jù)。 Map典型的實(shí)現(xiàn)類是HashMap、Hashtable(HashMap子類還有LinkedHashMap)、SortedMap子接口及實(shí)現(xiàn)類TreeMap、WeakHashMap、IndentityHashMap等 Map遍歷第一種 注意:如果

    2024年02月08日
    瀏覽(23)
  • 進(jìn)階JAVA篇- Map 系列集合的遍歷方法與常用API

    進(jìn)階JAVA篇- Map 系列集合的遍歷方法與常用API

    目錄 ? ? ? ? 1.0 Map 集合的說明 ? ? ? ? 1.1 Map 集合的常用方法 ? ? ? ? 1.2?Map 系列集合的特點(diǎn) ? ? ? ? 2.0?Map 系列集合的遍歷方法(三種方法) ???????? 2.1 使用 keySet() 方法遍歷 ????????2.2 使用 entrySet() 方法遍歷 ????????2.3 使用 forEach() 方法遍歷(Java 8+) ?

    2024年02月08日
    瀏覽(28)
  • <List<Map<String,String>>> 刪除元素常見的誤區(qū)以及刪除方法

    看到這么標(biāo)題可能覺得這個(gè)真是太easy了,不就remove嗎,分分鐘搞定。 但結(jié)果卻出乎意料,下面我們來j簡(jiǎn)單說說list刪除數(shù)據(jù)可能遇到的坑: 先說明我們可能會(huì)遇到的兩個(gè)問題: 1.java.lang.IndexOutOfBoundsException(索引越界) 2.java.util.ConcurrentModificationException(并發(fā)修改異常) 開始測(cè)試

    2024年02月12日
    瀏覽(26)
  • <List<Map<String,String>>> 刪除元素常見的誤區(qū)

    看到這么標(biāo)題可能覺得這個(gè)真是太easy了,不就remove嗎,分分鐘搞定。 但結(jié)果卻出乎意料,下面我們來j簡(jiǎn)單說說list刪除數(shù)據(jù)可能遇到的坑: 先說明我們可能會(huì)遇到的兩個(gè)問題: 1.java.lang.IndexOutOfBoundsException(索引越界) 2.java.util.ConcurrentModificationException(并發(fā)修改異常) 開始測(cè)試

    2024年02月12日
    瀏覽(29)
  • 使用java8 新特性stream流對(duì)List<Map<String, Object>>集合進(jìn)行遍歷、過濾、查詢、去重、排序、分組

    對(duì)于一個(gè)ListMapString, Object類型的數(shù)據(jù),可以使用Java 8的新特性stream流來進(jìn)行遍歷、過濾、查詢、去重、排序、分組等操作。 遍歷: 過濾: 查詢: 去重: 排序: 分組:

    2024年02月10日
    瀏覽(105)
  • js遍歷map(js遍歷map對(duì)象)

    var?map?=?new?HashMap(); map.put(a,1); map.put(b,2); 遍歷: var?key?=?map.keySet(); for?(var?i?in?key){ ?alert(map.get(key[i])); } 注:js?中使用map,要先導(dǎo)入一個(gè)HashMap.js文件? 沒要求,引入這個(gè)文件之后,可以直接使用hashmap了var map = {\\\'a\\\': \\\'aaaaa\\\',\\\'b\\\': \\\'bbbbb\\\'};for(var k in map){alert(map[k]);}可以使用

    2023年04月26日
    瀏覽(16)
  • 【Java 基礎(chǔ)篇】Java Map 詳解

    在Java的集合框架中, Map 接口用于存儲(chǔ)鍵值對(duì),提供了一種基于鍵進(jìn)行查找和操作的數(shù)據(jù)結(jié)構(gòu)。 Map 接口的實(shí)現(xiàn)類提供了豐富的方法來操作鍵值對(duì),例如添加、刪除、更新和查找。本文將詳細(xì)介紹Java中的 Map 接口及其常見實(shí)現(xiàn)類,包括 HashMap 、 TreeMap 和 LinkedHashMap ,并提供一

    2024年02月11日
    瀏覽(20)
  • Java中 Map轉(zhuǎn)List 、 List轉(zhuǎn)Map 簡(jiǎn)單好用

    輸出: 輸出: 所以說這兩個(gè)方法的區(qū)別就是在 new ArrayList 時(shí)選擇使用 map.values() 還是 map.keySet() 輸出: 要特別注意里面的 (v1, v2) - v1) 必須帶上。如果你的key里重復(fù)的時(shí)候沒這句話會(huì)異常: java.lang.IllegalStateException: Duplicate key 0 (v1, v2) - v1 表示當(dāng)出現(xiàn)重復(fù)的鍵時(shí),選擇保留原始

    2024年02月16日
    瀏覽(22)
  • Java Map中Value值的排序(利用Map統(tǒng)計(jì)次數(shù))

    引起我思考Java中Map排序問題,是來源于 LeetCode 501. 二叉搜索樹中的眾數(shù)。 這道題要求根據(jù)一棵給定的二叉搜索樹,在樹中找出結(jié)點(diǎn)中出現(xiàn)次數(shù)最多的那個(gè)值,且不唯一。換句話說,也就是在樹中搜索眾數(shù),且不唯一。 看到這道題時(shí),首先就想到要遍歷整棵樹中的每個(gè)結(jié)點(diǎn),

    2024年02月02日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包