Arrays类常用方法

对象排序

自定义排序规则时需遵守的官方约定

代码:
代码一:Arrays类常用方法
package com.itheima.Arrays;import java.util.Arrays;
import java.util.function.IntToDoubleFunction;public class Test {public static void main(String[] args) {int[] arr = {1,2,3,4,5};System.out.println(Arrays.toString(arr));int[] arr2 = Arrays.copyOfRange(arr, 1, 3);System.out.println(Arrays.toString(arr2));int[] arr3 = Arrays.copyOf(arr, 10);System.out.println(Arrays.toString(arr3));double[] prices = {100,300,200};Arrays.setAll(prices, new IntToDoubleFunction() {@Overridepublic double applyAsDouble(int value) {return prices[value] * 0.8;}});System.out.println(Arrays.toString(prices));Arrays.sort(prices);System.out.println(Arrays.toString(prices));}
}

代码二:对象排序(自定义排序规则Comparable、自定义比较器Comparator)
学生类
package com.itheima.Arrays;public class Student implements Comparable<Student> {@Overridepublic int compareTo(Student o) {
return o.age - this.age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", height=" + height +'}';}private String name;private int age;private double height;public Student() {}public Student(String name, int age, double height) {this.name = name;this.age = age;this.height = height;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}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;}
}
测试类(主程序)
package com.itheima.Arrays;import java.util.Arrays;
import java.util.Comparator;public class StudentsTest {public static void main(String[] args) {Student[] students = new Student[3];students[0] = new Student("飞鸟马时",18,165);students[1] = new Student("枣伊吕波",17,155);students[2] = new Student("珈百璃",19,150);Arrays.sort(students, new Comparator<Student>() {@Overridepublic int compare(Student o1, Student o2) {
return Double.compare(o2.getHeight(), o1.getHeight());}});System.out.println(Arrays.toString(students));}
}
