天天看點

27 java數組_6 _Arrays類

java數組_6 _Arrays類

  1. 數組的工具類java.util.Arrays
  2. 由于數組對象本身并沒有什麼方法可以供我們調用,但API中提供了一個工具類Arrays供我們使用,進而可以對資料對象進行一些基本的操作。
  3. 檢視JDK幫助文檔
  4. Arrays類中的方法都是static修飾的靜态方法,在使用的時候可以直接使用類名進行調用,而”不用"使用對象來調用(注意:是"不用”而不是“不能")
  5. 具有以下常用功能:
  1. 給數組指派:通過fill方法。
  2. 對數組排序:通過sort方法,按升序。
  3. 比較數組:通過equals方法比較數組中元素值是否相等。
  4. 查找數組元素: 通過binarySearch方法能對排序好的數組進行二分查找法操作。
package com.wlw.arrays;

import java.util.Arrays;

public class ArraysDemo06 {
    public static void main(String[] args) {
        int[] a = {1,31,23,34,346,685,63,2,5,68};
        int[] b = {1,31,23,34,346,685,63,2,5,68};

        System.out.println(a); // 對象的hashcode [I@4554617c

        //列印數組元素  Arrays.toString()
        System.out.println(Arrays.toString(a));

        ArraysDemo06 demo06 = new ArraysDemo06();
        demo06.printArrays(a); //這是方法沒有加static的使用方法
        System.out.println();

        //sort 排序(升序)
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));

        //判斷是否相等
        System.out.println(Arrays.equals(a,b)); //false

        //二分查找法
        int i = Arrays.binarySearch(a,346);
        System.out.println(i + " "+a[i]);

        //填充 fill
        Arrays.fill(a,-1);
        System.out.println("填充後:"+Arrays.toString(a));
    }

    //列印數組元素
    public void printArrays(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            if (i == 0) {
                System.out.print("[");
                System.out.print(arrays[i] + ", ");
            } else if (i == arrays.length -1 ) {
                System.out.print(arrays[i] +"]");
            } else {
                System.out.print(arrays[i] + ", ");
            }
        }
    }
}



/*輸出結果
    [I@4554617c
    [1, 31, 23, 34, 346, 685, 63, 2, 5, 68]
    [1, 31, 23, 34, 346, 685, 63, 2, 5, 68]
    [1, 2, 5, 23, 31, 34, 63, 68, 346, 685]
    false
    8 346
    填充後:[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
*/