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
Đăng nhận xét