最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在java的Map集合中,如何更改value的值

 更新時(shí)間:2023年09月21日 10:35:14   作者:蕭曵 丶  
這篇文章主要介紹了在java的Map集合中,如何更改value的值問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java Map集合更改value值

import java.util.HashMap;
import java.util.Map;
public class Demo {
    public static void main(String[] args) {
        Map<Integer,Integer> m = new HashMap<Integer,Integer>();
        m.put(1, 1);
        print(m);
        m.put(1, 2);
        print(m);
    }
    private static void print(Map<Integer, Integer> m) {
        for(Map.Entry<Integer, Integer> mm : m.entrySet())
            System.out.println("K: "+mm.getKey()+",V: "+mm.getValue());
    }
}
//供參考,重新放一個(gè)相同的key,會(huì)自動(dòng)覆蓋value的。

java對Map里value值進(jìn)行排序(升序或者降序)

費(fèi)話不多說,直接上代碼:

package utils;
import java.util.*;
public class Test {
    // Map的value值降序排序
    public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) {
        List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<K, V>>() {
            @Override
            public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2) {
                int compare = (o1.getValue()).compareTo(o2.getValue());
                return -compare;
            }
        });
        Map<K, V> returnMap = new LinkedHashMap<K, V>();
        for (Map.Entry<K, V> entry : list) {
            returnMap.put(entry.getKey(), entry.getValue());
        }
        return returnMap;
    }
    // Map的value值升序排序
    public static <K, V extends Comparable<? super V>> Map<K, V> sortAscend(Map<K, V> map) {
        List<Map.Entry<K, V>> list = new ArrayList<Map.Entry<K, V>>(map.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<K, V>>() {
            @Override
            public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2) {
                int compare = (o1.getValue()).compareTo(o2.getValue());
                return compare;
            }
        });
        Map<K, V> returnMap = new LinkedHashMap<K, V>();
        for (Map.Entry<K, V> entry : list) {
            returnMap.put(entry.getKey(), entry.getValue());
        }
        return returnMap;
    }
}

main方法測試:

public static void main(String[] args) {
        Map map = new HashMap();
        map.put("設(shè)計(jì)與制作", "52");
        map.put("創(chuàng)作表現(xiàn)", "15");
        map.put("基本元素", "48");
        map.put("藝術(shù)作品", "55");
        map.put("理解與概念", "56");
        System.out.println("排序前------------->" + map);
        map = sortDescend(map);// 降序排序
        System.out.println("降序后------------->" + map);
        map = sortAscend(map);// 升序排序
        System.out.println("升序后------------->" + map);
    }

執(zhí)行main方法,輸出的如下圖,好像沒什么問題。

這時(shí)我們把map里value的值更改一下:

public static void main(String[] args) {
        Map map = new HashMap();
        map.put("設(shè)計(jì)與制作", "15");
        map.put("創(chuàng)作表現(xiàn)", "1326");
        map.put("基本元素", "10289");
        map.put("藝術(shù)作品", "898");
        map.put("理解與概念", "6");
        System.out.println("排序前------------->" + map);
        map = sortDescend(map);// 降序排序
        System.out.println("降序后------------->" + map);
        map = sortAscend(map);// 升序排序
        System.out.println("升序后------------->" + map);
    }

輸入結(jié)果如下圖,可以看出,他不是按數(shù)值在排序,而是按字符串排序。

這時(shí)我們把map里value的值更改一下,更改為數(shù)字類型:

public static void main(String[] args) {
        Map map = new HashMap();
        map.put("設(shè)計(jì)與制作", 15);
        map.put("創(chuàng)作表現(xiàn)", 1326);
        map.put("基本元素", 10289);
        map.put("藝術(shù)作品", 898);
        map.put("理解與概念", 6);
        System.out.println("排序前------------->" + map);
        map = sortDescend(map);// 降序排序
        System.out.println("降序后------------->" + map);
        map = sortAscend(map);// 升序排序
        System.out.println("升序后------------->" + map);
    }

輸出的結(jié)果如下,可以看出,這是按數(shù)值在排序。

注意:

如果你的value值是字符串,它就按字符比大小排序,如果是數(shù)字,它就按數(shù)字比大小排序。如果你非喜歡走不尋常路,map的value值又有字符串又有數(shù)字會(huì)怎樣,你可親手試試。。。。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Eclipse導(dǎo)出安卓apk文件的圖文教程

    Eclipse導(dǎo)出安卓apk文件的圖文教程

    這篇文章主要為大家詳細(xì)介紹了Eclipse導(dǎo)出安卓apk文件的圖文教程,以圖文結(jié)合的方式為大家分享了Eclipse是如何導(dǎo)出安卓apk文件的步驟,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式

    Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式

    這篇文章主要介紹了Feign 集成 Hystrix實(shí)現(xiàn)不同的調(diào)用接口不同的設(shè)置方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java實(shí)現(xiàn)彈球小游戲

    java實(shí)現(xiàn)彈球小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)彈球小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • SpringBoot調(diào)整ApplicationContextAware如何實(shí)現(xiàn)類加載順序

    SpringBoot調(diào)整ApplicationContextAware如何實(shí)現(xiàn)類加載順序

    SpringBoot調(diào)整ApplicationContextAware實(shí)現(xiàn)類加載順序問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java 數(shù)組的兩種初始化方式

    Java 數(shù)組的兩種初始化方式

    這篇文章主要介紹了Java 數(shù)組的兩種初始化方式,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • Java+Selenium設(shè)置元素等待的方法詳解

    Java+Selenium設(shè)置元素等待的方法詳解

    本文主要介紹如何使用java代碼利用Selenium操作瀏覽器,某些網(wǎng)頁元素加載慢,如何操作元素就會(huì)把找不到元素的異常,此時(shí)需要設(shè)置元素等待,等待元素加載完,再操作,感興趣的可以了解一下
    2023-01-01
  • Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能

    Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能

    這篇文章主要為大家介紹了Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 詳解Java后端優(yōu)雅驗(yàn)證參數(shù)合法性

    詳解Java后端優(yōu)雅驗(yàn)證參數(shù)合法性

    這篇文章主要介紹了詳解Java后端優(yōu)雅驗(yàn)證參數(shù)合法性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java程序測試上傳Maven工程代碼示例解析

    Java程序測試上傳Maven工程代碼示例解析

    這篇文章主要介紹了Java程序測試上傳Maven工程代碼示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringCloud客戶端報(bào)錯(cuò):- was unable to send heartbeat!的解決

    SpringCloud客戶端報(bào)錯(cuò):- was unable to send&nb

    這篇文章主要介紹了SpringCloud客戶端報(bào)錯(cuò):- was unable to send heartbeat!的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評(píng)論

吉林省| 深泽县| 南召县| 玉龙| 吴旗县| 新宾| 南召县| 隆化县| 岚皋县| 阳朔县| 祥云县| 贵州省| 霍林郭勒市| 探索| 县级市| 上虞市| 惠东县| 鄂托克旗| 包头市| 聂拉木县| 南投县| 永靖县| 北安市| 女性| 洛阳市| 台州市| 休宁县| 通化市| 肇庆市| 株洲市| 都江堰市| 永清县| 汤原县| 弥勒县| 周口市| 高平市| 乐陵市| 商都县| 湖口县| 平阳县| 额尔古纳市|