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]);
}
}
}