看代码:
import java.util.ArrayListimport java.util.Arrays
import java.util.Collections
public class Demo {
public static void main(String[] args) throws Exception {
Pair[] pairs = {
new Pair(0, 1),
new Pair(2, 9),
new Pair(7, 0),
new Pair(8, 8),
new Pair(8, 6),
new Pair(9, 2),
new Pair(1, 5),
new Pair(8, 2),
new Pair(9, 15),
new Pair(9, 5)
}
ArrayList<Pair> pairList = new ArrayList<>(Arrays.asList(pairs))
System.out.println("排序前:")
System.out.println(Arrays.toString(pairs))
Arrays.sort(pairs) // 对数组排序
System.out.println("排序后:")
System.out.println(Arrays.toString(pairs))
System.out.println("排序前:")
System.out.println(pairList)
Collections.sort(pairList) // 对 ArrayList 排序
System.out.println("排序后:")
System.out.println(pairList)
}
}
// 继承 Comparable 接口排序该类是 “可排序的”
// <> 里面的是排序时与当前实例进行比较的实例的类型
// 一般都和当前实例是同一个类型,比如这里就是 Pair 的实例 和 Pair 的实例比较
class Pair implements Comparable<Pair> {
public int left
public int right
public Pair(int left, int right) {
this.left = left
this.right = right
}
@Override
public String toString() {
return "[" + left + ", " + right + "]"
}
// 排序规则,先按 left 排序,再按 right 排序
@Override
public int compareTo(Pair that) {
if (this.left > that.left) {
return 1
} else if (this.left < that.left) {
return -1
} else if (this.right > that.right) {
return 1
} else if (this.right < that.right) {
return -1
}
return 0
}
}
可以发现先按 left 排序,如果 left 相等,则按 right 排序
public static void main(String[] args) {
ArrayList<Integer>arr=new ArrayList<>()
arr.add(89)
arr.add(78)
arr.add(56)
arr.add(92)
arr.add(76)
//升序排列;
Collections.sort(arr)
//逆序输出
Collections.reverse(arr)
for(int i=0i<arr.size()i++){
//这就是你要的效果
System.out.println("0"+i+" "+arr.get(i))
}
}
ArrayList就是一个可以改变大小的一维数组.当然
你可以往ArrayList里放ArrayList或者其它的容器什么的那就用标准的排序方法就行了
用容量类就用Collections.sort
数组就用Arrays.sort
还有什么不清楚直接m我
百度知道最近抽风了
不能回答追问