# Arrays
# 介绍
用来操作数组的一个工具类。
# toString
接受任意数组
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 5};
System.out.println(Arrays.toString(arr));
}
}
# copyOfRange
拷贝数组,并指定范围(包前不包后) 拷贝的数组,结束索引是 index -1
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 5};
int[] ints = Arrays.copyOfRange(arr, 1, 3);
System.out.println(Arrays.toString(ints));
}
}
//打印结果 :[2, 3]
# copyOf
拷贝数组并指定数组长度
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 5};
int[] ints = Arrays.copyOf(arr, arr.length * 2);
System.out.println(Arrays.toString(ints));
}
}
//输出结果:[1, 2, 3, 4, 5, 5, 0, 0, 0, 0, 0, 0]
# setAll
更改原数组
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 5};
//将原数组 * 2
Arrays.setAll(arr, index -> arr[index] * 2);
System.out.println(Arrays.toString(arr));
}
}
# sort
排序
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {8,54,7,2,41,5,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
# 自定义排序
- 实现 Comparable 接口
- 使用 lambda
public class ArraysTest {
public static void main(String[] args) {
Student arr[] = new Student[3];
arr[0] = new Student(145, "张三");
arr[1] = new Student(2456, "李四");
arr[2] = new Student(35, "王五");
Arrays.sort(arr, (p1, p2) -> p1.getAge() - p2.getAge());
System.out.println(Arrays.toString(arr));
}
static class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
}
}