На этот ответ можно найти множество вопросов, таких как: /2168214/sortirovat-arraylist-polzovatelskih-obektov-po-svoistvu
Но вот пример программы того, что делать.Я предположил, что вы хотите отсортировать по имени, а затем по дате.Вы можете установить логику для этого в пользовательском компараторе.
import java.util.*;
public class SortExample {
public static class Student {
public String name;
public String date;
public Student(String name, String date) {
this.name = name;
this.date = date;
}
}
public static class StudentComparator implements Comparator<Student> {
@Override
public int compare(Student s, Student t) {
int f = s.name.compareTo(t.name);
return (f != 0) ? f : s.date.compareTo(t.date);
}
}
public static void main(String args[]) {
ArrayList<Student> l = new ArrayList<Student>(Arrays.asList(
new Student ("x","2010-10-5"),
new Student ("z","2010-10-15"),
new Student ("y","2010-10-05"),
new Student ("x","2010-10-1")
));
System.out.println("Unsorted");
for(Student s : l) {
System.out.println(s.name + " " + s.date);
}
Collections.sort(l, new StudentComparator());
System.out.println("Sorted");
for(Student s : l) {
System.out.println(s.name + " " + s.date);
}
}
}
Вывод этого:
Unsorted
x 2010-10-5
z 2010-10-15
y 2010-10-05
x 2010-10-1
Sorted
x 2010-10-1
x 2010-10-5
y 2010-10-05
z 2010-10-15
EDIT : сортировка списка массивов,Сначала вам нужно будет скопировать его, если вы хотите добавить его в новый список.