欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中Map如何根據(jù)key的大小進(jìn)行排序詳解

 更新時(shí)間:2023年09月27日 11:10:05   作者:一葉扁舟在大海  
這篇文章主要給大家介紹了關(guān)于java中Map如何根據(jù)key的大小進(jìn)行排序的相關(guān)資料,有時(shí)候我們業(yè)務(wù)上需要對(duì)map里面的值按照key的大小來(lái)進(jìn)行排序的時(shí)候我們就可以利用如下方法來(lái)進(jìn)行排序了,需要的朋友可以參考下

前言

需要對(duì)鍵值對(duì)(key-value)的key進(jìn)行排序的時(shí)候,可以利用TreeMap來(lái)操作,TreeMap默認(rèn)情況下就是按照key的大小來(lái)進(jìn)行排序的(升序),所以只需要使用TreeMap來(lái)存儲(chǔ)key-value對(duì)時(shí),就是排好序的。想要按序取數(shù)據(jù)時(shí),利用Iterator。

升序Demo

import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;
public class Main {
	public static void main(String args[]) {		
		System.out.println("kaishi");
		Random random = new Random();
		Map<Double, Integer> map = new TreeMap<Double, Integer>();
		//隨機(jī)產(chǎn)生數(shù)據(jù),存入到map中;默認(rèn)情況下時(shí)升序的。
		for(int i=0;i<100;i++) {
			map.put(random.nextDouble()*1000,random.nextInt(1000));
		}		
		//使用Iterator來(lái)取key-value對(duì);
		Set<Double> keySet = map.keySet();
	    Iterator<Double> iter = keySet.iterator();
	    while (iter.hasNext()) {
	        Double key = iter.next();
	        System.out.println(key + ":" + map.get(key));  //打印結(jié)果,會(huì)發(fā)現(xiàn)key都是按升序輸出的
	        }
	}
}

降序Demo

import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;
import java.util.Comparator;
public class Main {
	public static void main(String args[]) {		
		System.out.println("kaishi");
		Random random = new Random();
		Map<Double, Integer> map = new TreeMap<Double, Integer>(
				new Comparator<Double>(){
        			@Override
        			public int compare(Double o1, Double o2) {
        				//利用Comparator來(lái)實(shí)現(xiàn)降序;
        				return (int) (o2-o1);
        			}
           });
		for(int i=0;i<100;i++) {
			map.put(random.nextDouble()*1000,random.nextInt(1000));
		}		
		Set<Double> keySet = map.keySet();
	    Iterator<Double> iter = keySet.iterator();
	    while (iter.hasNext()) {
	        Double key = iter.next();
	        System.out.println(key + ":" + map.get(key));//打印結(jié)果,會(huì)發(fā)現(xiàn)key都是按降序輸出的
	        }
	}
}

總結(jié) 

到此這篇關(guān)于java中Map如何根據(jù)key的大小進(jìn)行排序的文章就介紹到這了,更多相關(guān)java Map根據(jù)key大小排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • cmd中javac和java使用及注意事項(xiàng)詳解

    cmd中javac和java使用及注意事項(xiàng)詳解

    這篇文章主要介紹了cmd中javac和java使用及注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Mybatis-Mapper.xml文件前綴詳解

    Mybatis-Mapper.xml文件前綴詳解

    這篇文章主要介紹了Mybatis-Mapper.xml文件前綴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java結(jié)合keytool如何實(shí)現(xiàn)非對(duì)稱加密與解密詳解

    java結(jié)合keytool如何實(shí)現(xiàn)非對(duì)稱加密與解密詳解

    這篇文章主要給大家介紹了關(guān)于java結(jié)合keytool如何實(shí)現(xiàn)非對(duì)稱加密與解密的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Kotlin 基礎(chǔ)教程之異常

    Kotlin 基礎(chǔ)教程之異常

    這篇文章主要介紹了Kotlin 基礎(chǔ)教程之異常的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • java9版本特性資源自動(dòng)關(guān)閉的語(yǔ)法增強(qiáng)

    java9版本特性資源自動(dòng)關(guān)閉的語(yǔ)法增強(qiáng)

    這篇文章主要為大家介紹了java9版本特性資源自動(dòng)關(guān)閉的語(yǔ)法增強(qiáng)的詳細(xì)使用說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • eclipse項(xiàng)目在IDEA中打開(kāi)并運(yùn)行的詳細(xì)圖文教程

    eclipse項(xiàng)目在IDEA中打開(kāi)并運(yùn)行的詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于eclipse項(xiàng)目在IDEA中打開(kāi)并運(yùn)行的詳細(xì)圖文教程,至從使用IDEA開(kāi)發(fā)工具以來(lái),不少次有使用IDEA運(yùn)行Eclipse項(xiàng)目或非Maven項(xiàng)目,所以這里給大家總結(jié)下,需要的朋友可以參考下
    2023-09-09
  • Java實(shí)現(xiàn)復(fù)原IP地址的方法

    Java實(shí)現(xiàn)復(fù)原IP地址的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)復(fù)原IP地址的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Spring Boot 中的 @ConditionalOnBean 注解場(chǎng)景分析

    Spring Boot 中的 @ConditionalOnBean 注解場(chǎng)景分析

    本文詳細(xì)介紹了Spring Boot中的@ConditionalOnBean注解的使用場(chǎng)景、原理和基本用法,通過(guò)多個(gè)示例,展示了如何使用該注解根據(jù)Bean是否存在來(lái)動(dòng)態(tài)地注冊(cè)或跳過(guò)特定的Bean,感興趣的朋友一起看看吧
    2025-03-03
  • Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法

    Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池的方法,涉及java數(shù)據(jù)庫(kù)連接池的創(chuàng)建、連接、刷新、關(guān)閉及狀態(tài)獲取的常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Spring簡(jiǎn)明分析Bean作用域

    Spring簡(jiǎn)明分析Bean作用域

    scope用來(lái)聲明容器中的對(duì)象所應(yīng)該處的限定場(chǎng)景或者說(shuō)該對(duì)象的存活時(shí)間,即容器在對(duì)象進(jìn)入其 相應(yīng)的scope之前,生成并裝配這些對(duì)象,在該對(duì)象不再處于這些scope的限定之后,容器通常會(huì)銷毀這些對(duì)象,這篇文章主要介紹了Spring中的Bean作用域,需要的朋友可以參考下
    2022-07-07

最新評(píng)論