リストにしてComparator#thenComparing(...)などを使用するのが簡単そうです。
java
1import java.util.Arrays;
2import java.util.List;
3import java.util.Comparator;
4public class SortTest {
5 public static void main(String[] args) {
6 List<List<Integer>> list = Arrays.asList(
7 Arrays.asList(15, 20, 35),
8 Arrays.asList(30, 45, 72),
9 Arrays.asList(15, 20, 31),
10 Arrays.asList(27, 33, 59),
11 Arrays.asList(27, 35, 77));
12 list.sort(Comparator.<List<Integer>>comparingInt(l -> l.get(0))
13 .thenComparingInt(l -> l.get(1))
14 .thenComparingInt(l -> l.get(2))
15 .reversed());
16 System.out.println(list);
17 // [[30, 45, 72], [27, 35, 77], [27, 33, 59], [15, 20, 35], [15, 20, 31]]
18 }
19}
20// Java 1.8 以前
21// list.sort(new ListIntegerComparator());
22// Collections.reverse(list);
23class IntegerListComparator implements Comparator<List<Integer>> {
24 @Override public int compare(List<Integer> a, List<Integer> b) {
25 Integer i = a.get(1) - b.get(1);
26 if (i == 0) {
27 i = a.get(2) - b.get(2);
28 }
29 if (i == 0) {
30 i = a.get(3) - b.get(3);
31 }
32 return i;
33 }
34}