java key value,java treemap value排序_【TreeMap】对Map按key和value分别排序

 2023-09-25 阅读 28 评论 0

摘要:使用TreeMap可以对key 和Value进行排序Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。java key value,** TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排

使用TreeMap可以对key 和Value进行排序

Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。

java key value,** TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。**

HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeMap的value排序。

对key值进行排序的代码:

java hashset。import java.util.Comparator;

import java.util.Iterator;

import java.util.Map;

java hashtable、import java.util.Set;

import java.util.TreeMap;

public class TreeMapTest {

java transient、public static void main(String[] args) {

Map map = new TreeMap(

new Comparator() {

java treemap。public int compare(String obj1, String obj2) {

// 降序排序

return obj2.compareTo(obj1);

java.util。}

});

map.put("b", "ccccc");

map.put("d", "aaaaa");

map.put("c", "bbbbb");

map.put("a", "ddddd");

Set keySet = map.keySet();

Iterator iter = keySet.iterator();

while (iter.hasNext()) {

String key = iter.next();

System.out.println(key + ":" + map.get(key));

}

}

}

输出为:

d:aaaaa

c:bbbbb

b:ccccc

a:ddddd

对value进行排序

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.TreeMap;

public class TreeMapTest {

public static void main(String[] args) {

Map map = new TreeMap();

map.put("a", "ddddd");

map.put("c", "bbbbb");

map.put("d", "aaaaa");

map.put("b", "ccccc");

//这里将map.entrySet()转换成list

List> list = new ArrayList>(map.entrySet());

//然后通过比较器来实现排序

Collections.sort(list,new Comparator>() {

//升序排序

public int compare(Entry o1,

Entry o2) {

return o1.getValue().compareTo(o2.getValue());

}

});

for(Map.Entry mapping:list){

System.out.println(mapping.getKey()+":"+mapping.getValue());

}

}

}

输出为:

d:aaaaa

c:bbbbb

b:ccccc

a:ddddd

参考文档:

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/95517.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息