Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về mảng trong Java: Tạo một mảng, khởi tạo và truy cập đến các mảng
Array (mảng) trong Java là một nhóm các biến cùng kiểu được gọi dướimột tên chung. Sau đây là những điểm khác nhau của mảng trong Java so với mảng trong các ngôn ngữ C\C++
- Tất cả các mảng trong Java được cấp phát động
- Mảng được coi như là các Object trong Java, nên chúng ta có thể xác định được độ dài của mảng bằng cách sử dụng
length
trong khi c\c++ sử dụngsize of
- Biến của một mảng được khai báo như một biến thông thường ví dụ như là sau kiểu dữ liệu.
- Index bắt đầu từ 0
- Mảng có thể được sử dụng như một trường static, biến local, và tham số của phương thức
- Trong Java kích thước của một mảng có thể được xác định bằng kiểu int và không hỗ trợ kiểu khác.
- Object là superclass rõ ràng trong Java
Mảng có thể là một chiều hoặc nhiều chiều.
Chúng ta có thể khởi tạo một mảng sử dụng từ khoá new
hoặc sử dụng cú pháp rút gọn để tạo và thiết lập tài khoản cùng một lúc.
Khi chúng ta thiết lập một mảng sử dụng toán tử new
, chúng ta cần cung cấp kích thước của chúng. Với mảng nhiều chiều, chúng ta cần cung cấp tất cả các chiều hoặc chỉ kích thước ngoài cùng bên trái của mảng.
Tạo mới, khởi tạo và truy cập mảng
Mảng một chiều trong Java được khai báo như sau
type ten_bien[];
Hoặc
type[] ten_bien;
Ví dụ
int intArray[]; or int[] intArray; byte byteArray[]; short shortsArray[]; boolean booleanArray[]; long longArray[]; float floatArray[]; double doubleArray[]; char charArray[]; // Một mảng các tham chiếu đến các object của MyClass MyClass myClassArray[]; Object[] ao, // mảng của Object Collection[] ca; // mảng của Collection của unknown type
Khởi tạo một mảng như sau
ten_bien = new type [size];
size ở đây chỉ định số phần tử trong khi ten_biên chỉ định tên của mảng
Ví dụ
int intArray[]; //Khai báo mảng intArray = new int[20]; // cấp phát bộ nhớ cho mảng
Mảng chữ (literal)
Khi chúng ta đã biết được kích thước của mảng, thì chúng ta có thể sử dụng khai báo mảng như sau
int[] intArray = new int[]{ 1,2,3,4,5,6,7,8,9,10 };
Tất cả các phần tử của mảng chúng ta có thể truy cập sử dụng vòng lặp for trong Java, một phần tử có thể truy cập thông qua index, index này bắt đầu từ 0 và kết thúc bằng tổng số phần tử – 1
for (int i = 0; i < arr.length; i++) System.out.println("Element at index " + i + " : "+ arr[i]);
Chúng ta có thể khai báo mảng với kiểu object như sau
//khởi tạo object mảng một chiều String[] strArr; //khai báo strArr = new String[4]; //khởi tạo Student[] arr = new Student[7]; // Student là class do người dùng định nghĩa
Khởi tạo mảng nhiều chiều
//Khởi tạo mảng nhiều chiều int[][] twoArrInt = new int[4][5]; //khởi tạo mảng nhiều chiều với chỉ kích thước ngoài cùng bên trái int[][] twoIntArr = new int[2][]; twoIntArr[0] = new int[2]; twoIntArr[1] = new int[3]; //khởi tạo đầy đủ trước khi sử dụng
Khởi tạo mảng sử dụng cú pháp ngắn gọn
//Khởi tạo mảng sử dụng cú pháp ngắn gọn int[] arrI = {1,2,3}; int[][] arrI2 = {{1,2}, {1,2,3}};