前言

开发中很多情况下需要进行对数据的排序,然而经常用到Map来储存值进行排序。下面给大家详细介绍一下map的key 与 value的值升序降序排序

下面Collections.reverse(list);的作用主要将升序排好的进行降序具体详细看下面

Map中key的升序排序

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class MapTest {

/**

* 升序排序

* @param args

*/

public static void main(String[] args) {

// 创建一个Map储存值

Map map = new HashMap();

map.put("z", 1);

map.put("l", 2);

map.put("g", 3);

map.put("c", 4);

map.put("m", 5);

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

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

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

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

// 升序排序

public int compare(Map.Entry o1, Map.Entry o2) {

//进行key比较

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

}

});

for (Map.Entry key : list) {

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

}

}

}

a6fa469acd510b052ae71cc23b18495f.gif

Map中key的降序排序

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class MapTest {

/**

* 降序排序

*

* @param args

*/

public static void main(String[] args) {

// 创建一个Map储存值

Map map = new HashMap();

map.put("z", 1);

map.put("l", 2);

map.put("g", 3);

map.put("c", 4);

map.put("m", 5);

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

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

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

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

// 降序排序

public int compare(Map.Entry o1, Map.Entry o2) {

// 进行key比较

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

}

});

// 这里是将排好的进行降序排序

Collections.reverse(list);

for (Map.Entry key : list) {

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

}

}

}

a6fa469acd510b052ae71cc23b18495f.gif

Map中Value的升序排序

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class MapTest {

/**

* 升序排序

*

* @param args

*/

public static void main(String[] args) {

// 创建一个Map储存值

Map map = new HashMap();

map.put("z", 1);

map.put("l", 2);

map.put("g", 3);

map.put("c", 4);

map.put("m", 5);

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

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

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

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

// 升序排序

public int compare(Map.Entry o1, Map.Entry o2) {

// 进行Value比较

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

}

});

for (Map.Entry key : list) {

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

}

}

}

a6fa469acd510b052ae71cc23b18495f.gif

Map中Value的降序排序

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class MapTest {

/**

* 降序排序

*

* @param args

*/

public static void main(String[] args) {

// 创建一个Map储存值

Map map = new HashMap();

map.put("z", 1);

map.put("l", 2);

map.put("g", 3);

map.put("c", 4);

map.put("m", 5);

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

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

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

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

// 升序排序

public int compare(Map.Entry o1, Map.Entry o2) {

// 进行Value比较

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

}

});

// 这里是将排好的进行降序排序

Collections.reverse(list);

for (Map.Entry key : list) {

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

}

}

}

a6fa469acd510b052ae71cc23b18495f.gif

*文章为作者独立观点,不代表上流阁立场

本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2017/08/12/1073.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐