1 package Test; 2 3 import java.util.Arrays; 4 5 /*** 6 * Java.util.Arrays工具类的使用. 7 * @author 小王同学 8 * 重点:对对象进行排序时,首先要实现comparable接口中的compareTo方法。 9 * 才能对对象数组进行排序。 10 * 发现:Arrays类中全是静态方法. 11 */ 12 public class TestArray { 13 public static void main(String[] args) { 14 int[] arr1 =new int [5]; 15 int arr2[] =new int[]{1,2,3,4,5}; 16 int arr3[] =new int[]{1,2,3,4,5}; 17 // System.arraycopy() 把arr2复制到arr1的方法 18 System.arraycopy(arr2, 2, arr1, 0, 3); 19 // Arrays.toString() 把arr2数组的内容以string类型输出. 20 System.out.println(Arrays.toString(arr2)); 21 // == ... 判断两数组的地址是否相同 22 System.out.println(arr2==arr3); 23 //Arrays.equals()... 判断两数组的内容是否相等. 24 System.out.println(Arrays.equals(arr2, arr3)); 25 //Arrays.copyOf() 返回值是一个数组 ,也是复制数组的方法,但是会返回一个新的数组,长度和要复制的长度一样 26 int arr4[]=Arrays.copyOf(arr3, 10); 27 System.out.println(Arrays.toString(arr4)); 28 //Arrays.fill() 填充数组,将数组中的每个元素都替换成输入的值. 29 Arrays.fill(arr1, 99); 30 System.out.println(Arrays.toString(arr1)); 31 //Arrays.sort 对数组排序-->升序 32 int [] arr5={2,5,7,1,4}; 33 Arrays.sort(arr5); 34 System.out.println(Arrays.toString(arr5)); 35 /**对对象进行排序 36 * 1.首先让对象实现comparable的compareTo方法 37 * 2.写出用那个属性进行排序 38 * 3.排序. 39 */ 40 Student [] stu =new Student[4]; 41 stu[0]= new Student(1,"小红","女"); 42 stu[1]= new Student(4,"小兰","女"); 43 stu[2]= new Student(7,"小吕","男"); 44 stu[3]= new Student(2,"小嘿","男"); 45 Arrays.sort(stu); 46 for(Student s :stu){ 47 System.out.println(s.toString()); 48 } 49 } 50 51 52 } 53 class Student implements Comparable<Student>{ 54 private int id ; 55 private String name ; 56 private String sex; 57 @Override 58 public int compareTo(Student o) { 59 return this.id-o.id;//这里使用id进行排序 60 } 61 @Override 62 public String toString() { 63 return "Student [id=" + id + ", name=" + name + ", sex=" + sex + "]"; 64 } 65 public Student(int id, String name, String sex) { 66 super(); 67 this.id = id; 68 this.name = name; 69 this.sex = sex; 70 } 71 72 }
下面是运行结果 -------------------