我想通过相同列表的每个数组元素中的第一个元素以相反的顺序对字符串数组列表进行排序,所以2、1、0
这是我到目前为止所尝试的:
List<String[]> array = new ArrayList<>();
String[] arr1 = {"0", "1/1"};
String[] arr2 = {"1", "1/2"};
String[] arr3 = {"2", "1/4"};
array.add(arr1);
array.add(arr2);
array.add(arr3);
Comparator<String[]> byFirstElement =
(String[] array1, String[] array2) -> Integer.parseInt(array1[0]) -
Integer.parseInt(array2[0]);
List<String[]> result = array.stream()
.sorted(array,byFirstElement) // error here
.collect(Collectors.toList());
问题是在排序行上我突出显示了一个错误,说:“ sorted(java.util.List,java.util.Comparator
Comparator<String[]> byFirstElement =
(array1, array2) -> Integer.parseInt(array2[0]) - Integer.parseInt(array1[0]);
//reversed
或在调用sorted()
时将其反转:
....sorted(byFirstElement.reversed())