[ Java ] 最通俗易懂的 數組 講解

數組定義


數組的動態初始化

  • 聲明並初始化數組:
  • 數據類型 數組名稱[] = new 數據類型[長度];
  • 數據類型[] 數組名稱 = new 數據類型[長度];
int[] arr = new int[5]; // 推薦
int arr1[] = new int[5];

數組的靜態初始化

  • 在數組定義的時候就爲其設置好了裏面的內容
  • 簡化格式:數據類型 數組名稱[] = {數據1,數據2,數據3... };
  • 完整格式:數據類型 數組名稱[] = new 數據類型[]{數據1,數據2,數據..};
int[] arr = new int[]{1,2,3};  // 推薦
int[] arr1 = {1,2,3};

數組內存分析


public class Demo {
    public static void main(String[] args) {
        int[] data = new int[3];
        data[0] = 10;
        data[1] = 20;
        data[2] = 30;
        System.out.println(Arrays.toString(data));
    }
}

在這裏插入圖片描述

數組引用傳遞分析


public class Demo {
    public static void main(String[] args) {
        int[] data = new int[]{10, 20, 30};
        test(data);
        System.out.println(Arrays.toString(data));
        // [99, 20, 30]
    }

    public static void test(int[] temp) {
        temp[0] = 99;
    }
}

在這裏插入圖片描述

對象數組內存分析


public class Demo {
    public static void main(String[] args) {
        Persion[] per = new Persion[3];
        per[0] = new Persion("張三", 20);
        per[1] = new Persion("李四", 20);
        per[2] = new Persion("王五", 20);
        for (Persion p : per) {
            System.out.println(p.toString());
        }
        // name: 張三 age: 20
        // name: 李四 age: 20
        // name: 王五 age: 20
    }
}

class Persion {
    private String name;
    private int age;

    public Persion(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "name: " + name + " age: " + age;
    }
}

在這裏插入圖片描述

Arrays 類常用方法

public class Demo {
    public static void main(String[] args) {
        // 數組遍歷
        int[] arr = new int[]{1, 2, 3, 4, 5, 6};
        System.out.println(Arrays.toString(arr));// [1, 2, 3, 4, 5, 6]

        // 數組排序
        int[] arr1 = new int[]{5, 2, 8, 3, 19, 4};
        Arrays.sort(arr1);
        System.out.println(Arrays.toString(arr1));// [2, 3, 4, 5, 8, 19]

        // 數組比較
        System.out.println(Arrays.equals(arr, arr1));// false

        // 數組查找(二分查找,傳入的數組得有序)
        System.out.println(Arrays.binarySearch(arr, 4));// 3
    }
}

方法可變參數

  • 本質上仍然是一個數組
public class Demo {
    public static void main(String[] args) {
        test(1, 2, 3, 4, 5, 6);
    }
    public static void test(int... arr) {
        System.out.println(Arrays.toString(arr));
        // [1, 2, 3, 4, 5, 6]
    }
}

參考鏈接:國內最新JAVA10培訓課堂 [by 魔樂科技]


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章