Arrays类是在java.util.Arrays包下的。
import java.util.Arrays;
import java.util.Comparator;
public class Demo1 {
public static void main(String[] args) {
//Arrays类的使用
int[] num = new int[]{1, 2, 56, 21, 12, 34, 22};
System.out.println(num.length);
System.out.println(Arrays.toString(num));//将数组内容进行打印
Arrays.sort(num);//他返回的是空,将原数组进行升序排序
System.out.println(Arrays.toString(num));
System.out.println(Arrays.binarySearch(num, 56));//进行二分查找,必须要排好序的数组,不然可能找不到
System.out.println(Arrays.binarySearch(num, 100));//如果没有这个数,他就会返回想要找的数应该在数组的索引位置的负数减一 //-8
//同时Arrays可以自定义排序规则 但是需要数组类型是引用数据类型
Integer[] numb = new Integer[]{13, 24, 14, 65, 34, 15};
Arrays.sort(numb, new Comparator<Integer>() {
@Override//匿名内部类 Comparator是一个接口
public int compare(Integer o1, Integer o2) {
return o1 - o2;//大的减小的 返回正值就会升序排序,大的减小的返回负值,就会降序排序
}
});
System.out.println(Arrays.toString(numb));
//同时它也可以排对象数组
Students[] students = new Students[3];
students[0] = new Students("zsc", 18);
students[1] = new Students("zfy",19);
students[2] = new Students("zr",17);
Arrays.sort(students, new Comparator<Students>() {
@Override
public int compare(Students o1, Students o2) {
return o1.getAge()-o2.getAge();
}
});
System.out.println(Arrays.toString(students));
}
}
Student类
public class Students {
private String name;
private int age;
public Students() {
}
public Students(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Students{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}