1. 程式人生 > 其它 >java陣列:多維陣列以及Arrays工具類

java陣列:多維陣列以及Arrays工具類

多維陣列

  • 多維陣列可以看成是陣列的陣列,比如二維數字就是一個特殊的一維陣列,其每一個元素都是一個一維陣列

  • 二維陣列

    int[][] arr=new int[2][5];
    
  • 解析:以上二維陣列arr可以看做一個2行5列的陣列

package com.ljh.array;

/**
 * 多維陣列
 */
public class DuoWeiDemo1 {
    public static void main(String[] args) {
        int[][] arr=new int[1][4];
        int[][] arr2={{1,2},{2,3},{3,4},{4,5}};

        for (int x=0;x<arr2.length;x++){
            for (int y=0;y<arr2[x].length;y++){
                System.out.print(arr2[x][y]+"\t");
            }
            System.out.println();
        }
        
    }
}

Arrays類

  • 陣列的工具類java.util.Arrays
  • 由於陣列物件並沒有什麼方法可以供我們呼叫,但API中提供了一個工具類Arrays供我們使用,從而可以對資料物件進行一些基本的操作
  • 檢視API幫助文件
  • Arrays類中的方法都是static修飾的靜態方法,在使用的時候可以直接使用類名進行呼叫,而"不用"物件來呼叫(注意是"不用"而不是"不能")
  • 具有以下常用功能:
    • 給陣列複製:通過fill方法
    • 對陣列排序:通過sort方法
    • 比較陣列:通過equals方法比較陣列中元素值是否相等
    • 查詢元素陣列:通過binarySearch方法對排序好的陣列進行二分查詢法操作
package com.ljh.array;
import java.util.Arrays;
/**
 * Arrays工具類
 */
public class ArraysDemo1 {
    public static void main(String[] args) {
        int[] arr={1,2,5,9,33,994,765,123};
        int[] arr2={1,2,4,6};
        //toString()輸出陣列
        System.out.println( Arrays.toString(arr));
        //sort排序陣列 升序
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        printArr(arr);
        //equals比較兩個陣列書否相等
        System.out.println(Arrays.equals(arr, arr2));
        //fill填充
       // Arrays.fill(arr2,0);
        Arrays.fill(arr2,1,2,0);
        System.out.println(Arrays.toString(arr2));
    }
    public static void printArr(int[] arr){
        for (int x=0;x<arr.length;x++){
            if (x==0){
                System.out.print("[");
            }
            if (x==arr.length-1){
                System.out.print(arr[x]+"]");
            }else {
                System.out.print(arr[x]+", ");
            }
        }
    }
}