Mảng trong Java
⚡ Tóm tắt thông minh
Mảng trong Java Chúng là các vùng chứa có kích thước cố định, dựa trên chỉ mục, lưu trữ các phần tử của một kiểu dữ liệu trong bộ nhớ liền kề, cung cấp khả năng truy cập với thời gian không đổi, kiểm tra giới hạn tích hợp và trường độ dài, khiến chúng trở thành nền tảng cho hầu hết các bộ sưu tập thư viện chuẩn.

Một Java Mảng?
A Java mảng Đây là một cấu trúc có kích thước cố định, lưu trữ các phần tử của một kiểu dữ liệu trong vùng nhớ liền kề. Mỗi phần tử được truy cập bằng chỉ mục dựa trên 0, vì vậy phần tử đầu tiên nằm ở vị trí 0. 0 và cuối cùng là tại length - 1Mảng kế thừa từ Object và thực hiện Serializable và Cloneablevà có thể chứa các kiểu dữ liệu nguyên thủy hoặc tham chiếu đối tượng.
Mảng thay thế các dãy dài các biến được đánh số. Hãy xem xét sáu số nguyên độc lập:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Sáu giá trị giống nhau này tồn tại trong một mảng duy nhất có độ dài sáu:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A vòng lặp Biến có thể điều khiển chỉ mục trong ngoặc, do đó ba dòng xử lý mọi phần tử thay vì sáu bản sao:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Các loại Mảng trong Java
Java Mảng có hai dạng:
- Mảng một chiều: một danh sách phẳng các phần tử.
- Mảng đa chiều: Một mảng các mảng, được sử dụng cho lưới và ma trận.
Biến mảng: Khai báo, tạo và khởi tạo
Sử dụng mảng là một cách quy trình ba bước: khai báo, xây dựng với newSau đó khởi tạo.
1) Khai báo mảng
Cú pháp:
<elementType>[] <arrayName>;
or (hình thức kiểu C cũ, vẫn còn hiệu lực):
<elementType> <arrayName>[];
Ví dụ:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Xây dựng mảng
Cú pháp:
arrayName = new dataType[size];
Ví dụ:
intArray = new int[10]; // defines that intArray will store 10 integer values
Kết hợp giữa tuyên bố và thi công:
int[] intArray = new int[10];
3) Khởi tạo mảng
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Khai báo và khởi tạo trong một bước sử dụng một mảng hằng:
int[] intArray = {1, 2, 3, 4}; // initialises an integer array of length 4 where the first element is 1, // the second element is 2, and so on.
Chương trình mảng đầu tiên trong Java
Bước 1) Sao chép đoạn mã sau vào trình soạn thảo:
class ArrayDemo { public static void main(String args[]) { int array[] = new int[7]; for (int count = 0; count < 7; count++) { array[count] = count + 1; } for (int count = 0; count < 7; count++) { System.out.println("array[" + count + "] = " + array[count]); } // System.out.println("Length of Array = " + array.length); // array[8] = 10; } }
Bước 2) Lưu, biên dịch và chạy mã. Quan sát kết quả đầu ra.
Đầu ra mong đợi:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Bước 3) If x là một tham chiếu mảng, x.length Trả về số thứ tự vị trí của nó. Bỏ dấu chú thích ở dòng đầu tiên và chạy lại:
Length of Array = 7
Bước 4) Không giống như C, Java Chương trình kiểm tra giới hạn mọi truy cập mảng. Hãy bỏ dấu chú thích ở dòng thứ hai và chạy lại:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Bước 5) JVM ném ra ArrayIndexOutOfBoundsExceptionTrong ngôn ngữ C, thao tác truy cập tương tự sẽ trả về dữ liệu rác từ vùng nhớ liền kề thay vì báo lỗi.
Java Mảng: Truyền theo tham chiếu
Mảng được truyền vào các phương thức bằng tham chiếu. Phương thức nhận một bản sao của tham chiếu, do đó các thay đổi về phần tử được thực hiện bên trong phương thức sẽ hiển thị cho người gọi.
Ví dụ: mảng được truyền theo tham chiếu.
Bước 1) Sao chép đoạn mã sau vào trình soạn thảo:
class ArrayDemo { public static void passByReference(String a[]) { a[0] = "Changed"; } public static void main(String args[]) { String[] b = {"Apple", "Mango", "Orange"}; System.out.println("Before Function Call " + b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call " + b[0]); } }
Bước 2) Lưu, biên dịch và chạy mã. Quan sát kết quả đầu ra.
Đầu ra mong đợi:
Before Function Call Apple After Function Call Changed
Mảng đa chiều trong Java
Mảng đa chiều là mảng của các mảng. Thêm một cặp dấu ngoặc vuông cho mỗi chiều. Để tạo một lưới số nguyên 2 chiều với bốn hàng và năm cột:
int[][] twoD = new int[4][5];
Bạn chỉ cần xác định kích thước chiều đầu tiên (bên trái nhất) trước. Các chiều còn lại có thể được phân bổ riêng biệt, và mỗi hàng có thể có chiều dài riêng, tạo nên Java mảng 2 chiều đúng mảng răng cưa.
Ví dụ:
public class Guru99 { public static void main(String[] args) { // Create a 2-dimensional array with 4 rows and 4 columns. int[][] twoD = new int[4][4]; // Assign three elements to it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Đầu ra mong đợi:
1
