Arrays trong Java


Arrays trong Java
1.       Khái niệm
Mảng trong Java được định nghĩa như sau: Mảng là một đối tượng chứa các thành phần của cùng một kiểu dữ liệu có kích thước cố định.
Ta hiểu như sau:
-Mảng là một đối tượng
-Các thành phần (hay còn gọi là phần tử) của mảng có cùng một kiểu dữ liệu
-Mảng có kích thước cố định
Mỗi phần tử được định một giá trị riêng biệt gọi là chỉ số (index)
Chúng ta sẽ đưa ra ví dụ để hiểu hơn về mảng.


Mảng trên có tên là A, là một mảng gồm 5 phần tử (hay kích thước của mảng là 5). Ta có phần tử tại chỉ số thứ 3 là phần tử 9.
2.       Khai báo, khởi tạo
Khai báo
Giả sử ta khai báo một mảng số nguyên, ta khai báo như sau
int[] a;
Ta thấy sau chữ int có dấu [], đây là dấu để xác định đây là một mảng thuộc kiểu int. Chúng ta có thể thay đổi thành kiểu dữ liệu khác như byte[], long[], char[],…
Ngoài ra, ta còn có thể khai báo bằng cách này.
int a[];
Đây là một cách mà Java đưa vào để các lập trình viên C khi chuyển sang Java sẽ bớt ngỡ ngàng hơn. Tuy nhiên, cách này không được khuyến khích sử dụng (Nguyên nhân vì người ta định nghĩa [] thuộc về KIỂU, không thuộc về BIẾN, nên dấu [] phải đặt gần kiểu).
Khởi tạo
Để khởi tạo 1 mảng, ta dùng cú pháp sau:
a = new int[5];
Với [5] chính là số lượng phần tử của mảng.
Khi khởi tạo, đối tượng a được cấp phát bộ nhớ với kích thước là 5 vùng * kích thước của int. Vì a là một đối tượng, các giá trị khi khởi tạo đều trả về giá trị mặc định (0 đối với số nguyên, 0.0 đối với số thực, false đối với kiểu boolean, /u0000 đối với kiểu char).
Một khi đã xác định số lượng phần tử của mảng, ta không thể thay đổi số lượng này.
Ta còn có thể khai báo, khởi tạo mảng và định giá trị bằng cách đơn giản sau:
int[] a = {3, 5, 4, 9, 6};
3.       Các hàm và phương thức dùng cho mảng
Trong lớp System có một hàm arraycopy cho phép bạn sao chép một mảng từ bên này sang bên khác
public static void arraycopy(Object src, int srcPos,
                             Object dest, int destPos, int length)
Với src là mảng nguồn cần sao chép, dest là mảng đích nhận sao chép. Hàm sẽ sao chép từ ảng src bắt đầu từ srcPos với kích thước là length cho mảng dest
Ngoài ra, còn có thuộc tính xác định chiều dài (lưu ý: không phải hàm). Khi bạn muốn xác định chiều dài, bạn dùng cú pháp array.length để nhận về một số nguyên là chiều dài của mảng.
4.       Giới thiệu về mảng hai chiều
Trong Java, mảng hai chiều được định nghĩa như sau: Mảng hai chiều là mảng một chiều mà mỗi phần tử của nó là một mảng một chiều khác (Và các mảng đa chiều cũng có khái niệm tương tự).
Khái với khái niệm về mảng hai chiều như trong Pascal và một vài ngôn ngữ khác về mảng hai chiều giống như một ma trận, có số dòng và số cột nhất định, Java quy định một cách tổng quát giúp cho việc giải quyết các bài toán tốt hơn. Một ví dụ cụ thể về mảng hai chiều của Java như sau:

Ta có mảng array có kích thước là 5.
Phần tử array[0] là một mảng một chiều có kích thước là 4
Phần tử array[1] là một mảng một chiều có kích thước là 3
Phần tử array[2] là một mảng một chiều có kích thước là 6
Phần tử array[3] là một mảng một chiều có kích thước là 4
Phần tử array[4] là một mảng một chiều có kích thước là 5
Tổng kết: Qua bài viết của mình, mình đã giải thích rõ về khái niệm, cách khai báo và khởi tạo, một vài thuộc tính và phương thức cần dùng, và giới thiệu về mảng hai chiều. Hi vọng sẽ giúp ích được cho các bạn.
Nội dung bài viết thuộc về Lê Công Diễn.

Người viết: Lê Công Diễn
Mang đi nhớ ghi nguồn



Nhận xét

Bài đăng phổ biến từ blog này

Deploy project Springboot MIỄN PHÍ sử dụng Render

Ứng dụng Mã hóa bất đối xứng (Asymmetric cryptography) vào Chữ ký số (Digital Signature)

API và HTTP - Một số khái niệm cơ bản cần biết về Web (Phần 2)