java中对ArrayList进行排序

来源:互联网 发布:怎么申请不了淘宝主播 编辑:程序博客网 时间:2024/06/07 10:31

java中的ArrayList需要通过collections类的sort方法来进行排序

如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法

调用sort方法时将ArrayList对象与实现Commparator接口的类的对象作为参数

示例:

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public static void main(String[] args) {  Student zlj = new Student("丁晓宇", 21);  Student dxy = new Student("赵四", 22);  Student cjc = new Student("张三", 11);  Student lgc = new Student("刘武", 19);  List<Student> studentList = new ArrayList<Student>();  studentList.add(zlj);  studentList.add(dxy);  studentList.add(cjc);  studentList.add(lgc);  Collections.sort(studentList, new SortByAge());  for (Student student : studentList) {   System.out.println(student.getName() + " / " + student.getAge());  }  System.out.println("  =  ");  Collections.sort(studentList, new SortByName());  for (Student student : studentList) {   System.out.println(student.getName() + " / " + student.getAge());  } }}class SortByAge implements Comparator { public int compare(Object o1, Object o2) {  Student s1 = (Student) o1;  Student s2 = (Student) o2;  if (s1.getAge() > s2.getAge())   return 1;  return 0; }}class SortByName implements Comparator { public int compare(Object o1, Object o2) {  Student s1 = (Student) o1;  Student s2 = (Student) o2;  return s1.getName().compareTo(s2.getName()); }}
0 0
原创粉丝点击