Array

Duy Văn | 10/03/2025


Đầu tiên ,để định nghĩa một array thì chúng ta cần phải định nghĩa được kiểu dữ liệu của các element và tên biến, phía Python thì nó linh động hơn khi cho phép list - một dạng của array có thể chứa bất kỳ kiểu dữ liệu nào, chính vì thế mà nó khá linh động khi định nghĩa một list. Còn ở phía Java, chúng ta chỉ có thể có array của các dữ liệu cùng kiểu


// Define an array of integers
int[] nums;
// An array of cars name
String[] cars;

Chúng ta có thể gán các giá trị cho array khi khai triển array


int[] nums = {1, 2, 3, 4, 5};
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

Truy cập các element

Để truy cập một element, trước hết chúng ta có thể dùng index


int[] nums = {1, 2, 3, 4, 5};
System.out.println(nums[0]); // 1

Thay đổi giá trị của element

Chúng ta cũng có thể thay đổi giá trị của element thông qua index


int[] nums = {1, 2, 3, 4, 5};
nums[0] = 10;
System.out.println(nums[0]); // 10

Lấy độ dài của array

Để lấy độ dài của array, chúng ta sử dụng thuộc tính length


int[] nums = {1, 2, 3, 4, 5};
System.out.println(nums.length); // 5

Loop qua array

Như đã nói ở bài trước Loop, chúng ta có thể sử dụng vòng lặp for each để loop qua array


int[] nums = {1, 2, 3, 4, 5};
for (int i : nums) {
  System.out.println(i);
}

Hay cũng có thể loop qua nó dựa theo index với for thường


int[] nums = {1, 2, 3, 4, 5};
for (int i = 0; i < nums.length; i++) {
  System.out.println(nums[i]);
}

Array 2 chiều

Java cho phép tạo ra các array 2 chiều sử dụng cú pháp sau:


int [][] numbers = {{1,2,3,4}, {5,6,7}};

Để truy cập vào các giá trị thuộc array này chúng ta vẫn sẽ áp dụng kiểu index nhưng với index đầu là để chọn array con, index thứ hai là để chọn element trong array con


int [][] numbers = {{1,2,3,4}, {5,6,7}};
System.out.println(numbers[0][1]); // 2

Thay đổi gía trị cũng tương tự, tuy nhiên để loop qua thì chúng ta cần thực hiện nested loop


int [][] numbers = {{1,2,3,4}, {5,6,7}};
for (int i = 0; i < numbers.length; i++) {
  for (int j = 0; j < numbers[i].length; j++) {
    System.out.println(numbers[i][j]);
  }
}

Cũng có thể triển khai array 3 chiều hoặc hơn, ví dụ


int [][][] numbers = {{{1,2,3}, {4,5,6}}, {{7,8,9}, {10,11,12}}};

Có thể hiểu array 3 chiều như một array chứa nhiều array 2 chiều, và array 2 chiều chứa nhiều array 1 chiều

Để truy cập vào array 3 chiều, chúng ta cũng sẽ sử dụng index nhưng với 3 index


int [][][] numbers = {{{1,2,3}, {4,5,6}}, {{7,8,9}, {10,11,12}}};
System.out.println(numbers[0][0][1]); // 2

Để loop qua thì chúng ta cần dùng nested loop 3 tầng


int [][][] numbers = {{{1,2,3}, {4,5,6}}, {{7,8,9}, {10,11,12}}};
for (int i = 0; i < numbers.length; i++) {
  for (int j = 0; j < numbers[i].length; j++) {
    for (int k = 0; k < numbers[i][j].length; k++) {
      System.out.println(numbers[i][j][k]);
    }
  }
}