Mảng (Array) trong java
Object cloning trong java Thông thường, mảng (array) là một tập hợp các phần tử có cùng kiểu được lưu trữ gần nhau trong bộ nhớ. Mảng trong java là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau. Mảng là một cấu trúc dữ liệu nơi lưu trữ các phần tử giống nhau. Với ...
Thông thường, mảng (array) là một tập hợp các phần tử có cùng kiểu được lưu trữ gần nhau trong bộ nhớ.
Mảng trong java là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau. Mảng là một cấu trúc dữ liệu nơi lưu trữ các phần tử giống nhau. Với mảng trong java chúng ta chỉ có thể lưu trữ một tập các phần tử có số lượng phần tử cố định.
Mảng trong java lưu các phần tử theo chỉ số, chỉ số của phần tử đầu tiên là 0.
Lợi ích của mảng trong java
- Tối ưu code: Mảng giúp lấy hoặc sắp xếp dữ liệu dễ dàng.
- Truy cập ngẫu nhiên: Chúng ta có thể lấy dữ liệu được lưu trữ ở bất kỳ vị trí nào thông qua chỉ số.
Sự bất tiện của mảng trong java
- Giới hạn kích thước: Chúng ta phải khởi tạo kích thước của mảng trong java trước khi sử dụng. Không thể thay đổi được kích thước của nó lúc runtime. Collection framework được sử dụng trong java để giải quyết vấn đề này.
Các kiểu của mảng trong java
Có hai kiểu mảng trong java
- Mảng một chiều
- Mảng đa chiều
Mảng một chiều trong java
Các cách khai báo mảng một chiều trong java
dataType[] arr; dataType []arr; dataType arr[];
Khởi tạo mảng một chiều trong java
arrayRefVar=new datatype[size];
Ví dụ về mảng một chiều trong java
Ví dụ đơn giản về khai báo, khởi tạo và duyệt các phần tử của mảng.
public class TestArray { public static void main(String args[]) { // khai báo và khởi tạo mảng int a[] = new int[3]; a[0] = 10; // gán giá trị a[1] = 20; a[2] = 50; // in mảng ra màn hình for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } } }
Kết quả:
10 20 50
Khai báo, khởi tạo mảng một chiều bằng mảng nặc danh
Ví dụ:
public class TestArray1 { public static void main(String args[]) { // gán mảng nặc danh cho mảng a int a[] = { 33, 3, 4, 5 }; // in mảng a ra màn hình for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); } }
Kết quả:
33 3 4 5
Truyền mảng vào phương thức trong java
Chúng ta có thể truyền mảng vào phương thức, điều này giúp tái sử dụng code logic để xử lý mảng bất kỳ. Ví dụ:
public class TestArray2 { static void min(int arr[]) { int min = arr[0]; for (int i = 1; i < arr.length; i++) if (min > arr[i]) { min = arr[i]; } System.out.println(min); } public static void main(String args[]) { int a[] = { 33, 3, 4, 5 }; min(a);// truyền mảng tới phương thức } }
Kết quả:
3
Mảng đa chiều trong java
Trong TH này, dữ liệu được lưu trữ theo hàng và cột theo chỉ mục (hay còn gọi là dạng ma trận).
Khai báo mảng đa chiều trong java
dataType[][] arrayRefVar; dataType [][]arrayRefVar; dataType arrayRefVar[][]; dataType []arrayRefVar[];
Ví dụ về khởi tạo và gán giá trị cho mảng đa chiều trong java
int[][] arr=new int[3][3]; // 3 hàng 3 cột arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[2][0]=7; arr[2][1]=8; arr[2][2]=9;
Ví dụ về mảng đa chiều trong java
public class TestArray3 { public static void main(String args[]) { // khai báo và khởi tạo mảng 2 chiều int arr[][] = { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } }; // in mảng 2 chiều r màn hình for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } }
Kết quả:
1 2 3 2 4 5 4 4 5
Sao chép một mảng trong java
Chúng ta có thể sao chép một mảng tới mảng khác bởi phương thức arraycopy của lớp System. Cú pháp của phương thức arraycopy:
public static void arraycopy( Object src, int srcPos,Object dest, int destPos, int length )
Ví dụ về sao chép mảng trong java
public class TestArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } }
Kết quả:
caffein