Lớp ArrayList được sử dụng để triển khai các mảng có thể thay đổi kích thước trong Java. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về lớp ArrayList và các phương thức của nó với sự trợ giúp của các ví dụ.
Bạn đang xem : danh sách mảng mới với các phần tử
Trong Java, chúng tôi sử dụng lớp ArrayList
để triển khai chức năng trong tổng số mảng có thể thay đổi kích thước .
Nó triển khai giao diện Danh sách
của khung tập hợp.
Triển khai Java ArrayList
Java ArrayList Vs Array
Trong Java, chúng ta cần khai báo kích thước của một mảng trước khi chúng ta có thể sử dụng nó. Khi kích thước của một mảng được khai báo, rất khó để thay đổi nó.
Để xử lý vấn đề này, chúng tôi có thể sử dụng lớp ArrayList
. Nó cho phép chúng tôi tạo các mảng có thể thay đổi kích thước.
Không giống như mảng, danh sách mảng có thể tự động điều chỉnh dung lượng của chúng khi chúng tôi thêm hoặc xóa các phần tử khỏi chúng. Do đó, danh sách mảng còn được gọi là mảng động .
Tạo ArrayList
Trước khi sử dụng ArrayList
, trước tiên chúng ta cần nhập gói java.util.ArrayList
. Đây là cách chúng ta có thể tạo danh sách mảng trong Java:
ArrayList & lt; Type & gt; arrayList = new ArrayList & lt; & gt; ();
Ở đây, Loại cho biết loại danh sách mảng. Ví dụ:
// tạo danh sách mảng kiểu số nguyên
ArrayList & lt; Integer & gt; arrayList = new ArrayList & lt; & gt; ();
// tạo danh sách mảng kiểu chuỗi
ArrayList & lt; String & gt; arrayList = new ArrayList & lt; & gt; ();
Trong chương trình trên, chúng tôi đã sử dụng Integer
chứ không phải int. Đó là bởi vì chúng ta không thể sử dụng các kiểu nguyên thủy trong khi tạo một danh sách mảng. Thay vào đó, chúng ta phải sử dụng các lớp trình bao bọc tương ứng.
Ở đây, Integer
là lớp trình bao bọc tương ứng của int
. Để tìm hiểu thêm, hãy truy cập lớp trình bao bọc Java .
Ví dụ: Tạo ArrayList trong Java
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
// tạo ArrayList
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
// Thêm các phần tử vào ArrayList
ngôn ngữ.add ("Java");
ngôn ngữ.add ("Python");
ngôn ngữ.add ("Swift");
System.out.println ("ArrayList:" + các ngôn ngữ);
}
}
Đầu ra
ArrayList: [Java, Python, Swift]
Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữ có tên ArrayList
.
Ở đây, chúng tôi đã sử dụng phương thức add ()
để thêm các phần tử vào danh sách mảng. Chúng ta sẽ tìm hiểu thêm về phương thức add ()
sau trong hướng dẫn này.
Các thao tác cơ bản trên ArrayList
Lớp ArrayList
cung cấp nhiều phương thức khác nhau để thực hiện các hoạt động khác nhau trên danh sách mảng. Chúng ta sẽ xem xét một số thao tác trong danh sách mảng thường được sử dụng trong hướng dẫn này:
- Thêm các phần tử
- Truy cập các phần tử
- Thay đổi các phần tử
- Xóa các phần tử
1. Thêm các phần tử vào ArrayList
Để thêm một phần tử vào danh sách mảng, chúng tôi sử dụng phương thức add ()
của lớp ArrayList
. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
// tạo ArrayList
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
// phương thức add () không có tham số index
ngôn ngữ.add ("Java");
ngôn ngữ.add ("C");
ngôn ngữ.add ("Python");
System.out.println ("ArrayList:" + các ngôn ngữ);
}
}
Đầu ra
ArrayList: [Java, C, Python]
Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữ có tên ArrayList
. Ở đây, chúng tôi đã sử dụng phương thức add ()
để thêm các phần tử vào ngôn ngữ.
Để tìm hiểu thêm, hãy truy cập Java ArrayList add () .
Cách khác để thêm các phần tử vào danh sách mảng
Làm cách nào để thêm một phần tử tại một vị trí xác định trong ArrayList?
Chúng tôi cũng có thể chuyển số chỉ mục làm tham số bổ sung cho phương thức add ()
để thêm một phần tử ở vị trí đã chỉ định . Ví dụ:
// thêm JavaScript tại chỉ mục 1
ngôn ngữ.add (1, "JavaScript");
// thêm C ++ tại chỉ mục 3
ngôn ngữ.add (3, "C ++");
Làm cách nào để thêm tất cả các phần tử của một tập hợp vào danh sách mảng?
Chúng tôi cũng có thể thêm tất cả các phần tử của tập hợp (tập hợp, ánh xạ) vào danh sách mảng bằng phương thức addAll ()
. Ví dụ:
nhập java.util.ArrayList;
nhập java.util.HashSet;
lớp chính {
public static void main (String [] args) {
// tạo một tập hợp
HashSet & lt; String & gt; nguyên âm = new HashSet & lt; & gt; ();
nguyên âm.add ("a");
nguyên âm.add ("e");
nguyên âm.add ("i");
// tạo một danh sách mảng
ArrayList & lt; String & gt; alphabets = new ArrayList & lt; & gt; ();
// thêm tất cả các phần tử của tập hợp vào danh sách mảng
alphabets.addAll (nguyên âm);
System.out.println ("ArrayList:" + bảng chữ cái);
}
}
// Đầu ra: ArrayList: [a, e, i]
Để tìm hiểu thêm, hãy truy cập Java ArrayList addAll () .
2. Truy cập các phần tử ArrayList
Để truy cập một phần tử từ danh sách mảng, chúng tôi sử dụng phương thức get ()
của lớp ArrayList
. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
ArrayList & lt; String & gt; động vật = new ArrayList & lt; & gt; ();
// thêm các phần tử vào danh sách mảng
động vật.add ("Mèo");
động vật.add ("Con chó");
động vật.add ("Bò");
System.out.println ("ArrayList:" + động vật);
// lấy phần tử từ danh sách mảng
Chuỗi str = động vật.get (1);
System.out.print ("Phần tử ở chỉ mục 1:" + str);
}
}
Đầu ra
ArrayList: [Mèo, Chó, Bò] Phần tử ở chỉ mục 1: Con chó
Trong ví dụ trên, chúng tôi đã sử dụng phương thức get ()
với tham số 1. Ở đây, phương thức trả về phần tử tại chỉ mục 1 .
Để tìm hiểu thêm, hãy truy cập Java ArrayList get () .
Chúng tôi cũng có thể truy cập các phần tử của ArrayList
bằng phương thức iterator ()
. Để tìm hiểu thêm, hãy truy cập Java ArrayList iterator () .
3. Thay đổi các phần tử ArrayList
Để thay đổi các phần tử của danh sách mảng, chúng tôi sử dụng phương thức set ()
của lớp ArrayList
. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
// thêm các phần tử trong danh sách mảng
ngôn ngữ.add ("Java");
ngôn ngữ.add ("Kotlin");
ngôn ngữ.add ("C ++");
System.out.println ("ArrayList:" + các ngôn ngữ);
// thay đổi phần tử của danh sách mảng
ngôn ngữ.set (2, "JavaScript");
System.out.println ("Danh sách ArrayList đã được sửa đổi:" + các ngôn ngữ);
}
}
Đầu ra
ArrayList: [Java, Kotlin, C ++] Danh sách mảng được sửa đổi: [Java, Kotlin, JavaScript]
Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữ có tên ArrayList
. Lưu ý dòng,
language.set (2, "JavaScript");
Tại đây, phương thức set ()
thay đổi phần tử tại index 2 thành JavaScript.
Để tìm hiểu thêm, hãy truy cập Java ArrayList set () .
4. Loại bỏ các phần tử ArrayList
Để xóa một phần tử khỏi danh sách mảng, chúng ta có thể sử dụng phương thức remove ()
của lớp ArrayList
. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
ArrayList & lt; String & gt; động vật = new ArrayList & lt; & gt; ();
// thêm các phần tử trong danh sách mảng
động vật.add ("Con chó");
động vật.add ("Mèo");
động vật.add ("Ngựa");
System.out.println ("ArrayList:" + động vật);
// xóa phần tử khỏi chỉ mục 2
Chuỗi str = động vật.remove (2);
System.out.println ("Đã cập nhật ArrayList:" + động vật);
System.out.println ("Phần tử đã Loại bỏ:" + str);
}
}
Đầu ra
ArrayList: [Dog, Cat, Horse] Đã cập nhật ArrayList: [Dog, Cat] Phần tử bị xóa: Ngựa
Tại đây, phương thức remove ()
lấy số chỉ mục làm tham số. Và, xóa phần tử được chỉ định bởi số chỉ mục .
Để tìm hiểu thêm, hãy truy cập Java ArrayList remove () .
Chúng tôi cũng có thể xóa tất cả các phần tử khỏi danh sách mảng cùng một lúc. Để tìm hiểu thêm, hãy truy cập
Phương thức của Lớp ArrayList
Trong phần trước, chúng ta đã tìm hiểu về add ()
, get ()
, set ()
và phương thức remove ()
của lớp ArrayList
.
Bên cạnh những phương thức cơ bản đó, đây là một số phương thức ArrayList
khác thường được sử dụng.
Phương pháp
Mô tả
kích thước ()
Trả về độ dài của danh sách mảng.
sắp xếp ()
Sắp xếp các phần tử của danh sách mảng.
bản sao ()
Tạo một danh sách mảng mới với cùng một phần tử, kích thước và dung lượng.
chứa ()
Tìm kiếm phần tử được chỉ định trong danh sách mảng và trả về kết quả boolean.
ensureCapacity ()
Chỉ định tổng phần tử mà danh sách mảng có thể chứa.
isEmpty ()
Kiểm tra xem danh sách mảng có trống không.
indexOf ()
Tìm kiếm một phần tử được chỉ định trong danh sách mảng và trả về chỉ mục của phần tử.
Nếu bạn muốn tìm hiểu về tất cả các phương thức khác nhau của danh sách mảng, hãy truy cập Các phương thức trong danh sách mảng Java .
Lặp lại qua ArrayList
Chúng tôi có thể sử dụng Java for-each loop để lặp qua từng phần tử của danh sách mảng. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
// tạo danh sách mảng
ArrayList & lt; String & gt; động vật = new ArrayList & lt; & gt; ();
động vật.add ("Bò");
động vật.add ("Mèo");
động vật.add ("Con chó");
System.out.println ("ArrayList:" + động vật);
// lặp lại bằng cách sử dụng vòng lặp for-each
System.out.println ("Đang truy cập các phần tử riêng lẻ:");
for (Ngôn ngữ chuỗi: động vật) {
System.out.print (ngôn ngữ);
System.out.print (",");
}
}
}
Đầu ra
ArrayList: [Bò, Mèo, Chó] Truy cập các phần tử riêng lẻ: Bò, Mèo, Chó,
Câu hỏi Thường gặp
Sự khác biệt giữa Java ArrayList và LinkedList là gì?
Một số khác biệt chính giữa ArrayList
và LinkedList
trong Java là:
ArrayList
Danh sách liên kết
Giao diện Danh sách
triển khai
Triển khai các giao diện List
, Queue
và Deque
.
Lưu trữ một giá trị duy nhất.
Lưu trữ 3 giá trị: dữ liệu, địa chỉ trước đó và địa chỉ tiếp theo
Cung cấp chức năng của một mảng có thể thay đổi kích thước.
Cung cấp chức năng của danh sách được liên kết kép
Làm thế nào để chuyển đổi ArrayList thành Array?
Chúng ta có thể chuyển đổi ArrayList
thành một mảng bằng phương thức toArray ()
. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
// thêm các phần tử trong danh sách mảng
ngôn ngữ.add ("Java");
ngôn ngữ.add ("Python");
ngôn ngữ.add ("C ++");
System.out.println ("ArrayList:" + các ngôn ngữ);
// tạo một mảng mới kiểu Chuỗi
String [] arr = new String [ngôn ngữ.size ()];
// chuyển ArrayList thành một mảng
ngôn ngữ.toArray (arr);
System.out.print ("Mảng:");
// truy cập các phần tử của mảng
for (Mục chuỗi: arr) {
System.out.print (item + ",");
}
}
}
Đầu ra
ArrayList: [Java, Python, C ++] Mảng: Java, Python, C ++,
Trong ví dụ trên, phương thức toArray ()
chuyển đổi danh sách các ngôn ngữ thành một mảng và lưu trữ nó trong arr. Để tìm hiểu thêm, hãy truy cập Java ArrayList toArray () .
Làm thế nào để chuyển đổi một mảng thành ArrayList?
Chúng tôi sử dụng phương thức asList ()
của lớp Arrays
. Để sử dụng asList ()
, trước tiên chúng ta phải nhập gói java.util.Arrays
. Ví dụ:
nhập java.util.ArrayList;
nhập java.util.Arrays;
lớp chính {
public static void main (String [] args) {
// tạo một mảng kiểu Chuỗi
String [] arr = {"Java", "Python", "C ++"};
System.out.print ("Mảng:");
// mảng in
for (Chuỗi str: arr) {
System.out.print (str);
System.out.print ("");
}
// tạo ArrayList từ một mảng
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; (Arrays.asList (arr));
System.out.println ("\ nArrayList:" + ngôn ngữ);
}
}
Đầu ra
Mảng: Java Python C ++ ArrayList: [Java, Python, C ++]
Trong chương trình trên, trước tiên chúng ta tạo một mảng arr
kiểu String
. Chú ý biểu thức,
Arrays.asList (arr)
Tại đây, phương thức asList ()
chuyển đổi mảng thành một danh sách mảng.
Làm thế nào để tạo và khởi tạo ArrayList trong một dòng?
Chúng tôi sử dụng phương thức Arrays.asList ()
để tạo và khởi tạo một danh sách mảng trong một dòng. Ví dụ:
nhập java.util.ArrayList;
nhập java.util.Arrays;
lớp chính {
public static void main (String [] args) { // tạo và khởi tạo ArrayList
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; (Arrays.asList ("Java", "Python", "C"));
System.out.println ("ArrayList:" + các ngôn ngữ);
}
}
// Đầu ra: ArrayList: [Java, Python, C]
Làm thế nào để chuyển đổi ArrayList thành String?
Chúng tôi sử dụng phương thức toString ()
của lớp ArrayList
để chuyển đổi một danh sách mảng thành một chuỗi. Ví dụ:
nhập java.util.ArrayList;
lớp chính {
public static void main (String [] args) {
ArrayList & lt; String & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
// thêm các phần tử trong ArrayList
ngôn ngữ.add ("Java");
ngôn ngữ.add ("Python");
ngôn ngữ.add ("Kotlin");
System.out.println ("ArrayList:" + các ngôn ngữ);
// chuyển đổi ArrayList thành một chuỗi
Chuỗi str = ngôn ngữ.toString ();
System.out.println ("Chuỗi:" + str);
}
}
Đầu ra
ArrayList: [Java, Python, Kotlin] Chuỗi: [Java, Python, Kotlin]
Ở đây, phương thức toString ()
chuyển toàn bộ danh sách mảng thành một chuỗi đơn. Để tìm hiểu thêm, hãy truy cập Java ArrayList toString () .
Làm cách nào để tạo danh sách mảng bằng giao diện Danh sách?
Chúng tôi cũng có thể tạo danh sách mảng bằng giao diện Danh sách. Đó là bởi vì lớp ArrayList thực hiện giao diện Danh sách. Hãy xem một ví dụ,
nhập java.util.ArrayList;
nhập java.util.List;
lớp chính {
public static void main (String [] args) {
// tạo danh sách mảng bằng Danh sách
Danh sách & lt; Chuỗi & gt; ngôn ngữ = new ArrayList & lt; & gt; ();
ngôn ngữ.add ("Java");
ngôn ngữ.add ("Python");
ngôn ngữ.add ("C");
System.out.println ("ArrayList:" + các ngôn ngữ);
}
}
// Đầu ra: ArrayList: [Java, Python, C]
Xem thêm những thông tin liên quan đến chủ đề danh sách mảng mới với các phần tử
Bài tập List (Mảng một chiều) trong Python
- Tác giả: Cô Sương
- Ngày đăng: 2021-07-13
- Đánh giá: 4 ⭐ ( 6508 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Nhập từ bàn phím mảng số nguyên gồm n phần tử, sau đó thực hiện:
1. Tính tổng các phần tử là số lẻ trong mảng
2. Tính tổng các phần tử vị trí chẵn
3. Xóa các phần tử là số âm có trong mảng
4. Thay thế các phần tử âm có trong mảng bằng giá trị 0
5. Tìm vị trí của số lớn nhất trong mảng
Danh sách mảng
- Tác giả: hocjava.com
- Đánh giá: 5 ⭐ ( 9167 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
[TIP]Kỹ thuật random, tạo danh sách (mảng) ngẫu nhiên trong java – Cộng đồng Java Việt Nam
- Tác giả: www.congdongjava.com
- Đánh giá: 3 ⭐ ( 6024 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Ở bài viết này JackV sẽ hướng dẫn các bạn 3 kỹ thuật random thường dùng:
1. Random tự nhiên, có thể lặp lại.
2. Random có thể lặp lại nhưng 2 phần tử liên…
- Tác giả: dse.vnua.edu.vn
- Đánh giá: 4 ⭐ ( 1865 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Render danh sách — Vue.js
- Tác giả: vi.vuejs.org
- Đánh giá: 5 ⭐ ( 8474 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Vue.js – Framework JavaScript linh động
ArrayList trong java
- Tác giả: viettuts.vn
- Đánh giá: 4 ⭐ ( 4555 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Lớp ArrayList trong java là một lớp kế thừa lớp AbstractList và triển khai của List Interface trong Collections Framework. ArrayList được sử dụng như một mảng động để lưu trữ các phần tử.
Mảng và danh sách liên kết
- Tác giả: vnoi.info
- Đánh giá: 4 ⭐ ( 4858 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình