Mảng trong Java là một cấu trúc dữ liệu được sử dụng để lưu trữ một tập hợp các phần tử cùng kiểu dữ liệu trong một vùng nhớ liên tiếp. Mảng có đặc điểm là luôn có kích thước cố định và các phần tử được đánh chỉ mục cho phép chúng ta thực hiện thao tác với các phần tử trong mảng qua chỉ số của chúng. Trong bài này, chúng ta sẽ cùng tìm hiểu về mảng trong Java và thao tác với mảng chứa các đối tượng.
1. Mảng trong Java là gì ?
Mảng trong Java là một nhóm các biến có kiểu giống nhau được sử dụng với qua một tên biến chung. Dưới đây là một số đặc điểm về mảng trong Java:
- Toàn bộ mảng trong Java được phân chia bộ nhớ động
- Mảng luôn được lưu trữ trong bộ nhớ tiếp giáp(contiguous memory)
- Vì mảng là đối tượng trong Java, chúng ta có thể tìm được độ dài của mảng sử dụng phương thức
length()
- Một biến mảng có thể được khai báo như các biến khác với ký tự
[] đằng sau kiểu dữ liệu
- Các giá trị trong mảng được sắp xếp và từng giá biến trong nó đều bắt đầu bằng chỉ mục 0
- Mảng trong Java có thể được sử dụng như một giá trị
static
, một biếnnội bộ
(local) hoặc là một giá trịbiến
của phương thức - Kích thước của một mảng có thể được định nghĩa bằng
int
,short
nhưng không thể làlong
- Mảng là kế thừa của
Object
- Tất cả các kiểu mảng đều là triển khai của interface
Cloneable
vàjava.io.Serializable
- Bộ nhớ của mảng cho phép chúng ta thực hiện
truy cập ngẫu nhiên
vào các phần tử trong nó - Kích thước của mảng không thể bị thay đổi sau khi đã thực hiện khởi tạo thành công. Tuy nhiên, một biến mảng có thể được sử dụng để trỏ đến một mảng khác
- Một mảng có thể chứa các phần tử nguyên thủy(int, char,...) và các đối tượng. Nếu dùng mảng để lưu các giá trị nguyên thủy, các giá trị thực sự của các phần tử sẽ được lưu trong bộ nhớ tuyến giáp, trong trường hợp lưu đối tượng thì các giá trị thực sự của phần tử thuộc mảng sẽ được lưu trong vùng nhớ
heap
.
Trong bài này, chúng ta sẽ tìm hiểu về mảng một chiều và thực hiện thao tác với đối tượng trong Java. Kể từ đây, chúng ta sẽ sử dụng lớp Student
được khai báo như dưới đây để tiếp tục tìm hiểu về các phương thức với mảng trong Java:
public class Student {
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student:name=" + this.name;
}
}
>>> Xem thêm bài viết:
- Khai báo và sử dụng mảng các đối tượng trong Java
- Phân biệt ArrayList, Set và Vector trong Java
- Lập trình đa luồng là gì? Hướng dẫn lập trình đa luồng bằng ngôn ngữ Java
2. Mảng chứa đối tượng
Một mảng chứa các đối tượng được khởi tạo như mảng bao gồm các phần tử nguyên thủy theo cách dưới đây:
Student[] array = new Student[5];
Cú pháp khai báo:
1) Datatype[] arrName;
2) Datatype arrName[];
3) Datatype [] arrName;
3. Thao tác với mảng chứa đối tượng
Ở đây chúng ta thấy mảng Student
bao gồm có năm khoảng trống và có thể lưu trữ các đối tượng Student
vào trong nó. Đối tượng Student phải được khởi tạo bằng cách sử dụng constructor
của lớp Student
và các giá trị tham chiếu của nó nên được truyền vào mảng như dưới đây:
public class StudentMainArray1 {
public static void main(String[] args) {
// instantiated the array
Student[] arr = new Student[5];
// instantiated elements in the array
arr[0] = new Student("A");
arr[1] = new Student("B");
arr[2] = new Student("C");
arr[3] = new Student("D");
arr[4] = new Student("E");
for (int index = -1; ++index < arr.length; ) {
System.out.println("Element at " + index + " is " + arr[index]);
}
}
}
Kết quả sau khi thực hiện chạy chương trình:
Element at 0 is Student:name=A
Element at 1 is Student:name=B
Element at 2 is Student:name=C
Element at 3 is Student:name=D
Element at 4 is Student:name=E
Trong ví dụ trên, chúng ta đã thực hiện khởi tạo một mảng đối tượng Student gồm năm phần tử và sử dụng phương thức length
để lấy về số phần tử của nó. Vì mảng đã được đánh chỉ mục, do đó chúng ta có thể sử dụng chỉ mục để thực hiện truy cập các phần tử của nó bằng một vòng lặp for
.
Một mảng các đối tượng cũng có thể được khởi tạo bằng cách dưới đây:
public class StudentMainArray2 {
public static void main(String[] args) {
Student[] arr = new Student[]{
new Student("A"),
new Student("B"),
new Student("C")
};
for (Student student : arr) {
System.out.println(student);
}
}
}
Kết quả sau khi thực hiện chạy chương trình
Student:name=A
Student:name=B
Student:name=C
Xem thêm bài viết:
- Alert manager: Cấu hình cảnh báo bằng Prometheus cho hệ thống K8s
- Monitoring trên K8s cluster với Prometheus và Grafana
- Hướng dẫn cài đặt Web server Apache trên CentOS 7
Tạm kết
Như vậy, chúng ta đã tìm hiểu về mảng trong Java cũng như các ví dụ sử dụng mảng các đối tượng trong Java. Với khả năng truy cập dễ dàng thông qua chỉ số, mảng là công cụ hữu ích để thực hiện các thao tác như truy xuất, chèn, xóa và sắp xếp dữ liệu. Trong việc phát triển ứng dụng Java, mảng là một phần không thể thiếu trong các cấu trúc dữ liệu mà bạn nên sử dụng.
Stringee Communication APIs là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.
Bộ API giao tiếp của Stringee hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy, Adavigo, bTaskee…
Quý bạn đọc quan tâm xin mời đăng ký NHẬN TƯ VẤN TẠI ĐÂY: