API
Arrays类
返回数组的内容
Arrays.toString(arr)
拷贝数组(指定范围,包前不包后)
Arrays.copyOfRange(arr, 1, 4)
拷贝数组,可以指定新数组的长度
Arrays.copyOf(arr, 10)
把数组中的原数据改为新数据又存进去。
// 把所有的价格都打八折,然后又存进去。
Arrays.setAll(prices, new IntToDoubleFunction() {
@Override
public double applyAsDouble(int value) {
// value = 0 1 2
return prices[value] * 0.8;
}
});
对数组进行排序(默认是升序排序)
Arrays.sort(prices);
Arrays操作数组时,如果数组中存储的元素类型是自定义的对象,如何排序呢
-
排序方式1:让Student类实现Comparable接口,同时重写compareTo方法。Arrays的sort方法底层会根据compareTo方法的返回值是正数、负数、还是0来确定谁大、谁小、谁相等。
@Override
public int compareTo(Student o) {
return this.age - o.age; // 按照年龄升序排列
// return o.age - this.age; // 按照年龄降序排列
}
-
排序方式2: