ArrayList集合数据排序问题
来源:互联网 发布:mac不能无线键盘 编辑:程序博客网 时间:2024/06/05 03:42
核心方法就是使用Collections的sort方法
Collections.sort(comparator , mList);
让 Student 实现Comparable接口,或是实例化一个比较器,现在用 Comparator 比较器实例来做一个。
mport java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class ComparableTest { public static void main(String[] args) { Comparator<Student> comparator = new Comparator<Student>(){ public int compare(Student s1, Student s2) { //先排年龄 if(s1.age!=s2.age){ return s2.age-s1.age; } else{ //年龄相同则按姓名排序 if(!s1.name.equals(s2.name)){ return s2.name.compareTo(s1.name); } else{ //姓名也相同则按学号排序 return s2.id-s1.id; } } } }; Student stu1 = new Student (1,"zhangsan","male",28,"cs"); Student stu2 = new Student (2,"lisi","female",19,"cs"); Student stu3 = new Student (3,"wangwu","male",22,"cs"); Student stu4 = new Student (4,"zhaoliu","female",17,"cs"); Student stu5 = new Student (5,"jiaoming","male",22,"cs"); ArrayList<Student> List = new ArrayList<Student>(); List.add(stu1); List.add(stu2); List.add(stu3); List.add(stu4); List.add(stu5); //这里就会自动根据规则进行排序 Collections.sort(List,comparator); display(List); } static void display(ArrayList<Student> lst){ for(Student s:lst) System.out.println(s); } } class Student{ int age; int id; String gender; String name; String cs; Student(int id,String name,String gender,int age,String cs){ this.age=age; this.name=name; this.gender=gender; this.id=id; this.cs=cs; } public String toString(){ return id+" "+name+" "+gender+" "+age+" "+cs; } }
阅读全文
0 0
- ArrayList集合数据排序问题
- ArrayList中的数据排序问题
- 对ArrayList集合里面数据排序
- ArrayList等常见集合的排序问题
- 集合 List ArrayList 问题
- list,ArrayList集合进行排序
- Arraylist集合三种排序
- 使用ArrayList集合存储数据
- 集合ArrayList遍历修改问题
- ArrayList去除重复数据,排序
- 对ArrayList集合中的元素进行排序
- c# ArrayList 的排序问题!
- 关于listview的适配器Adapter里面的数据集合Arraylist list指针问题。
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- 我的进步
- CGI与FastCGI的介绍
- 【POJ3744】Scout YYF I
- 2017 Multi-University Training Contest
- SAMBA服务器笔记
- ArrayList集合数据排序问题
- DOM(一)
- 理解C中复杂声明
- python多线程学习(续)
- 杭电ACM求和小问题
- tinyXml和stl中map使用的一点坑
- Garland(CodeForces
- [LeetCode] 225. Implement Stack using Queues
- 简单说说我集成科大讯飞遇到的坑