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 }
下面是運行結果 -------------------