前言
开发中很多情况下需要进行对数据的排序,然而经常用到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());
}
}
}
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());
}
}
}
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());
}
}
}
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());
}
}
}
*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2017/08/12/1073.html