Java8之集合排序
2024-08-27 20:39:44
1,List<Map<String,Object>>格式
这种排序方式有bug,如果item.get(sortField)是数字,toString()之后排序是不正确的
//排序
Comparator<Map<String, Object>> comparator = Comparator.comparing(item -> item.get(sortField).toString());
if (Constant.SORT_TYPE_ASC == sortType){
//升序
resourceList.sort(comparator);
}else {
resourceList.sort(comparator.reversed());
}
2,List<Model>格式
resultList.sort(Comparator.comparing(MetaDataModel::getOrder));
dictVoList.sort(Comparator.comparingInt(DictVo::getOrder));
3,Set<Model>格式
public static void test2(){
Set<Student> students = new HashSet<>();
Student student1 = new Student(1,"李四",1);
Student student2 = new Student(2,"张三",3);
Student student3 = new Student(3,"王麻",2);
students.add(student1);
students.add(student2);
students.add(student3);
List<Student> studentList1 = new ArrayList<>(students);
studentList1.sort(Comparator.comparing(Student::getAge));
System.out.println(studentList1);
}
4,Set<String>格式
public static void test3(){
Set<String> sets = new HashSet<>();
sets.add("aa");
sets.add("ee");
sets.add("cc");
//倒序
Set<String> treeSetDesc = new TreeSet<>((o1, o2) -> o2.compareTo(o1));
treeSetDesc.addAll(sets);
System.out.println(treeSetDesc);
//升序
Set<String> treeSetAsc = new TreeSet<>((o1, o2) -> o1.compareTo(o2));
treeSetAsc.addAll(sets);
System.out.println(treeSetAsc);
}
最新文章
- awk删除文件第一列
- Python语法一
- db2常用函数(1)
- C++面向过程解决三阶行列式问题
- OSGi之Bundle
- JDBC连接MySQL数据库及演示样例
- .net Remoting 的工作原理是什么?
- 将16进制颜色转换成UIColor-ios
- 03-python3.5-模拟购物车流程--更新追加细节注释功能
- 导入到eclipse里的工程挺大的,然后就一直报: An internal error occurred during: ";Building workspace";. GC overhead limit exceeded 这个错误。
- Hackergame 2018的一道题目confused_flxg失败心得体会
- redis:list列表类型的操作
- hisi 生产固件生成
- IO流_演示键盘录入
- SRS用例
- 52.tableViewCell重用机制避免重复显示问题
- Selenium+Python自动化测试环境搭建和搭建过程遇到的问题解决
- 大数据时代快速SQL引擎-Impala
- MySQL 四种链接
- vscode新建html,没有模板