Java学习之排序方法总结
package com.person;
import java.math.BigDecimal;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public class SordTest {
public static void main(String[] args) {
List<Map<String, Object>> list = BuildListMap();
//BigDecimal 排序
Collections.sort(list, (o1, o2) -> {
// 取出需要排序的字段
BigDecimal sort1 = (BigDecimal)o1.get("syl");
BigDecimal sort2 = (BigDecimal)o2.get("syl");
// 降序, 参数调换位置就是升序
return sort2.compareTo(sort1);
});
list.forEach(System.out::println);
//String 排序
Collections.sort(list, (o1, o2) -> {
// 取出需要排序的字段
String sort1 = o1.get("name").toString();
String sort2 = o2.get("name").toString();
// 排序
Collator instance = Collator.getInstance(Locale.CHINA);
// Collator instance = Collator.getInstance(); 其他排序方式
// 降序, 参数调换位置就是升序
return instance.compare(sort1, sort2);
});
list.forEach(System.out::println);
}
public static List<Map<String, Object>> BuildListMap() {
List<Map<String, Object>> listmap5 = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 10; i++) {
Map<String, Object> list_map = new HashMap<>();
list_map.put("yysyl", i);
list_map.put("name", "name"+i);
list_map.put("syl", new BigDecimal(i));
listmap5.add(list_map);
}
return listmap5;
}
}
/******************************************后续继续补充完善哦********************************************/

浙公网安备 33010602011771号