Thay đổi phần tử trong ArrayList

Cách thay đổi giá trị của phần tử ArrayList trong java

Thay đổi phần tử trong ArrayList

Phan Kiều Giang · Phan Kiều Giang 20:08 07/10/2012

Nội dung chính

Show

  • Cách thay đổi giá trị của phần tử ArrayList trong java
  • Sơ đồ thừa kế
  • Lớp ArrayList trong java
  • Hierarchy của lớp ArrayList trong java
  • Video hướng dẫn:
  • 1. Đặc điểm
  • 2. Các phương thức phổ biến
  • Tạo mới một ArrayList
  • Hiển thị các phần tử có trong ArrayList
  • Thêm phần tử vào trong ArrayList
  • Truy cập phần tử
  • Cập nhậtgiá trị của phần tử
  • Xóa phần tử
  • Tìm kiếm một phần tử
  • Chuyển ArrayList sang Array (mảng)
  • Phương thức set() trong ArrayList Java
  • 1. Tạo một ArrayList
  • 2. Thêm phần tử vào ArrayList
  • Video liên quan

2 giờ trước

Vui lòng giúp tôi với mã bên dưới, tôi nhận được kết quả tương tự ngay cả sau khi thay đổi giá trị

import java.util.*;
class Test {
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<Integer>();
// added 0-9 to ArrayList
for(int i=0;i<9;i++)
a.add(new Integer(i));
// initialize the Iterator
Iterator<Integer> i = a.iterator();
// changed the value of first element in List
if(i.hasNext()) {
Integer x = i.next();
x = Integer.valueOf(9);
}
// initialized the iterator again and print all the elements
i = a.iterator();
while(i.hasNext())
System.out.print(i.next());
}
}
//Output : 012345678

Giá trị 9 không cập nhật.

  • java
  • arraylist

69 hữu ích 0 bình luận 255k xem chia sẻ

Sơ đồ thừa kế

Thay đổi phần tử trong ArrayList

Lớp ArrayList trong java

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 nên nó sẽ có một vài đặc điểm và phương thức tương đồng với List. ArrayList được sử dụng như một mảng động để lưu trữ các phần tử.

Những điểm cần ghi nhớ về ArrayList:

  • Lớp ArrayList trong java có thể chứa các phần tử trùng lặp.
  • Lớp ArrayList duy trì thứ tự của phần tử được thêm vào.
  • Lớp ArrayList là không đồng bộ (non-synchronized).
  • Lớp ArrayList cho phép truy cập ngẫu nhiên vì nó lưu dữ liệu theo chỉ mục.
  • Lớp ArrayList trong java, thao tác chậm vì cần nhiều sự dịch chuyển nếu bất kỳ phần tử nào bị xoá khỏi danh sách.

Hierarchy của lớp ArrayList trong java

Thay đổi phần tử trong ArrayList

Lớp java.util.ArrayList được khai báo như sau:

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable

Video hướng dẫn:

1. Đặc điểm

ArrayList là một lớp triển khai của List Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với List. Như đã nói trong bàiTổng quan về Collection trong Java,ArrayList là một Collection kiểu danh sách sử dụng cấu trúc mảng để lưu trữ phần tử.Thứ tự các phần tử dựa theo thứ tự lúc thêm vào và giá trị của các phần tử này có thể trùng nhau.

Như vậy, cả ArrayList và LinkedList đều là lớp triển khai của List Interface. Vậy khi nào chúng ta sẽ sử dụng ArrayList và khi nào chúng ta sẽ sử dụng LinkedList? Chúng ta sẽ sử dụng ArrayList khi ứng dụng của chúng ta cần truy xuất phần tử nhiều hơn cập nhật và xóa phần tử và chúng ta sẽ sử dụng LinkedList khi ứng dụng của chúng ta cần cập nhật và xóa phần tử nhiều hơn là truy cập phần tử.

2. Các phương thức phổ biến

Tạo mới một ArrayList

Để khai báo một ArrayList,chúng ta cần phải import gói thư việnjava.util.ArrayList của Java. Cú pháp import như sau:

Cú pháp

// Khai báo ArrayList
// thì import gói thư viện java.util.ArrayList
import java.util.ArrayList;
public class TênClass {
// …
}

Sau đây là ví dụ cáchtạo mới một ArrayListtrong Java:

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListString
// có kiểu là String
ArrayList<String> arrListString = new ArrayList<>();
}

Ngoài ra, nếu chúng ta đã biết trước số lượng phần tử thì chúng ta có thể khai báo kèm với số lượng phần tử của nó. Ví dụ dưới đây sẽ khai báo một ArrayList có tên là arrListName,kiểu là String và có 10phần tử:

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListName
// có kiểu là String và có 10 phần tử
ArrayList<String> arrListName = new ArrayList<>(10);
}

Hiển thị các phần tử có trong ArrayList

Để hiển thị các phần tử có trong ArrayList, chúng ta có các cáchnhư sau:

Hiển thị theo tên của ArrayList.

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListDouble
// có kiểu là Double và có 10 phần tử
ArrayList<Double> arrListDouble = new ArrayList<>(10);
arrListDouble.add(8.329d);
arrListDouble.add(1.02d);
arrListDouble.add(2.9d);
arrListDouble.add(20.17d);
System.out.println(“Các phần tử có trong arrListDouble là: “);
System.out.println(arrListDouble);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Sử dụng vòng lặpforthông thường.

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListString
// có kiểu là String
ArrayList<String> arrListString = new ArrayList<>();
// thêm các phần tử sử dụng phương thức add()
arrListString.add(“JAVA”);
arrListString.add(“PHP”);
arrListString.add(“C#”);
arrListString.add(“C++”);
// duyệt theo kích thước của arrListString
// sử dụng vòng lặp for thông thường
// phương thức arrListString.size() sẽ trả về số phần tử của arrListString
// và sau đó lấy phần tử tại vị trí thứ i thông qua hàm get()
// sau đó hiển thị giá trị phần tử đó ra
System.out.println(“Các phần tử có trong arrListString là: “);
for (int i = 0; i < arrListString.size(); i++) {
System.out.print(arrListString.get(i) + “\t”);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Sử dụng vòng lặpforcải tiếnduyệt theo đối tượng trong ArrayList.

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListString
// có kiểu là String
ArrayList<Integer> arrListInteger = new ArrayList<>();
// thêm các phần tử sử dụng phương thức add()
arrListInteger.add(0);
arrListInteger.add(7);
arrListInteger.add(1);
arrListInteger.add(9);
// duyệt theo kích thước của arrListInteger
// sử dụng vòng lặp for duyệt theo đối tượng
// trong đó kiểu dữ liệu của biến number
// phải trùng với kiểu dữ liệu của arrListInteger
System.out.println(“Các phần tử có trong arrListInteger là: “);
for (int number : arrListInteger) {
System.out.print(number + “\t”);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Sử dụng Iterator.

Để sử dụng đượcIteratorchúng ta cần phải import gói thư việnjava.util.Iteratorcủa Java

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListString
// có kiểu là String
ArrayList<Float> arrListFloat = new ArrayList<>();
// thêm các phần tử sử dụng phương thức add()
// chữ f cho biết các số thêm vào là số thực
// nếu không có chữ này thì trình biên dịch sẽ hiểu đây là số double
// và sẽ báo lỗi dữ liệu
arrListFloat.add(0.7f);
arrListFloat.add(7.26f);
arrListFloat.add(1.02f);
arrListFloat.add(9.3f);
// khai báo một Iterator có kiểu là Float
Iterator<Float> iterator = arrListFloat.iterator();
System.out.println(“Các phần tử có trong arrListFloat là: “);
while (iterator.hasNext()) {
System.out.print(iterator.next() + “\t”);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Sử dụng ListIterator.

VìArrayList là một lớp triển khai của List Interface nên nó cũng có thể sử dụng ListIterator để duyệt qua các phần tử của nó. Để sử dụng được ListIterator chúng ta cần phải import gói thư việnjava.util.ListIterator của Java.

Ví dụ

public static void main(String[] args) {
// khai báo 1 ArrayList có tên là arrListChar
// có kiểu là Character
ArrayList<Character> arrListChar = new ArrayList<>();
arrListChar.add(‘a’);
arrListChar.add(‘e’);
arrListChar.add(‘b’);
arrListChar.add(‘c’);
// khai báo một ListIterator có kiểu là Character
ListIterator<Character> listIterator = arrListChar.listIterator();
// hiển thị các phần tử có trong linkedList
// bằng cách sử dụng ListIterator
System.out.println(“Các phần tử có trong arrListChar là: “);
while (listIterator.hasNext()) {
System.out.print(listIterator.next() + “\t”);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Thêm phần tử vào trong ArrayList

Thêm phần tử sử dụng phương thức add().

Ví dụ

public static void main(String[] args) {
ArrayList<String> arrListMonth = new ArrayList<>(12);
// thêm phần tử vào trong ArrayList
// sử dụng phương thức add()
arrListMonth.add(“January”);
arrListMonth.add(“February”);
arrListMonth.add(“March”);
arrListMonth.add(“May”);
arrListMonth.add(“June”);
arrListMonth.add(“July”);
arrListMonth.add(“August”);
arrListMonth.add(“September”);
arrListMonth.add(“October”);
arrListMonth.add(“November”);
arrListMonth.add(“December”);
// thêm vào trong ArrayList
// phần tử ở vị trí thứ 3 và có giá trị là “April”
arrListMonth.add(3, “April”);
System.out.println(“Các phần tử có trong arrListMonth là: “);
for (String month : arrListMonth) {
System.out.println(month);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Bên cạnh đó, chúng ta có thể sử dụng phương thứcaddAll()để thêm tất cả các phần tử của một ArrayList khác vào 1 vị trí bất kỳ trong ArrayList đã tồn tại. Ví dụ dưới đây sẽ thêm các phần tử của arrList1vào vị trí số 3trong arrList2:

Ví dụ

public static void main(String[] args) {
ArrayList<Integer> arrList1 = new ArrayList<>();
// thêm phần tử vào trong arrList1
arrList1.add(6);
arrList1.add(4);
arrList1.add(9);
ArrayList<Integer> arrList2 = new ArrayList<>();
// thêm phần tử vào trong arrList2
arrList2.add(11);
arrList2.add(15);
arrList2.add(16);
arrList2.add(19);
// thêm các phần tử của arrList1
// vào vị trí số 3 của arrList2
arrList2.addAll(3, arrList1);
System.out.println(“Các phần tử có trong arrList2 là: “);
for (int number : arrList2) {
System.out.println(number);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Truy cập phần tử

Java cung cấp cho chúng ta phương thứcget()để truy cập đến 1 phần tử bất kỳ trong ArrayList thông qua chỉ số của phần tử đó. Ví dụ dưới đây sẽ truy cậpphần tử có chỉ số là2trong 1 ArrayList có tên là arrListChar:

Ví dụ

public static void main(String[] args) {
ArrayList<Character> arrListChar = new ArrayList<>();
// thêm phần tử vào trong arrListChar
arrListChar.add(‘l’);
arrListChar.add(‘a’);
arrListChar.add(‘b’);
// truy cập phần tử có chỉ số 2 trong arrListChar
// tương ứng với ký tự ‘b’
// vì arrListChar có kiểu là Character
// nên các phần tử con của nó cũng có kiểu dữ liệu là Character.
char ch = arrListChar.get(2);
System.out.print(“Phần tử có chỉ số 2 trong arrListChar là ” + ch);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Cập nhậtgiá trị của phần tử

Để cập nhật giá trị của phần tử trong ArrayList, Java cung cấp cho chúng ta phương thứcset(index, element), trong đóindexlà chỉ số của phần tử cần cập nhật vàelementlà phần tử mới đểthay thế. Để hiểu kỹ hơn về phương thức này các bạn hãy xem ví dụ sau:

Ví dụ

public static void main(String[] args) {
ArrayList<Integer> arrListInteger = new ArrayList<>();
// thêm phần tử vào trong arrListInteger
arrListInteger.add(4);
arrListInteger.add(8);
arrListInteger.add(12);
arrListInteger.add(16);
arrListInteger.add(20);
arrListInteger.add(24);
System.out.println(“Các phần tử của arrListInteger ban đầu: “);
System.out.println(arrListInteger);
// cập nhật giá trị của phần tử thứ 4
// trong arrListInteger bằng phương thức set()
arrListInteger.set(4, 204);
System.out.println(“Các phần tử của arrListInteger sau khi cập nhật: “);
System.out.println(arrListInteger);
}

Các bạn thấy trong ví dụ trên, tôi đã tiến hành thay thế giá trị của phần tử có chỉ số là4trong danh sách. Kết quả là chương trình sẽ thay thế giá trị20 của phần tử này thành 204. Kết quả sau khi biên dịch chương trình như sau:

Thay đổi phần tử trong ArrayListThay đổi phần tử trong ArrayList

Xóa phần tử

Để xóa phần tử trong ArrayList, Java cung cấp cho chúng ta 2 phương thức có sẵn đó là phương thức clear() và phương thức remove().

Phương thức clear().

Phương thức clear() sẽ xóa tất cả các phần tử có trong ArrayList. Sau đây là ví dụ minh họa phương thức này.

Ví dụ

public static void main(String[] args) {
ArrayList<Integer> arrListInteger = new ArrayList<>();
// thêm phần tử vào trong arrListInteger
arrListInteger.add(1);
arrListInteger.add(2);
arrListInteger.add(3);
// hiển thị số phần tử của arrListInteger ban đầu
// sử dụng phương thức size()
System.out.print(“Số phần tử của arrListInteger ban đầu = ” + arrListInteger.size());
System.out.println(“\nCác phần tử của arrListInteger ban đầu: “);
System.out.println(arrListInteger);
// xóa tất cả các phần tử trong arrListInteger
// sử dụng phương thức clear()
arrListInteger.clear();
System.out.print(“Số phần tử của arrListInteger sau khi xóa = ” +
arrListInteger.size());
System.out.println(“\nCác phần tử của arrListInteger sau khi xóa: “);
System.out.println(arrListInteger);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Phương thức remove().

Phương thức remove() sẽ xóa phần tử ra khỏi ArrayList theo 2 cách đó làxóa dựa vàochỉ số của phần tửxóa trực tiếp phần tử đó(không cần biết đến chỉ số của nó). Ví dụ dưới đây sẽ minh họa 2 cách xóa này:

Ví dụ

public static void main(String[] args) {
ArrayList<String> arrListString = new ArrayList<>();
arrListString.add(“ANDROID”);
arrListString.add(“JAVA”);
arrListString.add(“PHP”);
// tạo bản sao của arrListString
// sử dụng phương thức clone()
ArrayList<String> arrListStringCopy = (ArrayList<String>) arrListString.clone();
System.out.println(“Các phần tử của arrListString ban đầu: “);
System.out.println(arrListString);
// xóa phần tử có chỉ số = 2 trong arrListString
// sử dụng phương thức remove()
// trong đó giá trị truyền vào là chỉ số của phần tử cần xóa
arrListString.remove(2);
System.out.println(“Các phần tử của arrListStringCopy sau khi xóa phần tử số 2: “);
System.out.println(arrListString);
System.out.println(“Các phần tử của arrListStringCopy ban đầu: “);
System.out.println(arrListStringCopy);
// xóa phần tử “JAVA” ra khỏi arrListStringCopy
// sử dụng phương thức remove()
// trong đó giá trị truyền vào là giá trị của phần tử cần xóa
arrListStringCopy.remove(“JAVA”);
System.out.println(“Các phần tử của arrListStringCopy sau khi xóa phần tử PHP: “);
System.out.println(arrListStringCopy);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Tìm kiếm một phần tử

Để tìm kiếm một phần tử trong ArrayList thì chúng ta có 3 phương pháp tìm kiếm như sau:

Tìm kiếm trực tiếp phần tử.

Để tìm kiếm trực tiếp phần tử, chúng ta sẽ sử dụng phương thứccontains(). Kết quả trả về làtruenếu tìm thấy, ngược lại trả vềfalse.

Cú pháp

boolean contains(giá_trị_phần_tử_cần_tìm);

Ví dụ dưới đây sẽ tìm kiếm phần tử có giá trị = 2trong ArrayList arrListInteger. Nếu tìm thấy thì thông báo “Có phần tử 2 trong arrListInteger.”, ngược lại hiển thị thông báo “Không tìm thấy phần tử 2.”.

Ví dụ

public static void main(String[] args) {
ArrayList<Integer> arrListInteger = new ArrayList<>();
arrListInteger.add(7);
arrListInteger.add(2);
arrListInteger.add(9);
// kiểm tra arrListInteger có chứa phần tử có giá trị bằng 2 hay không
boolean resultCheck = arrListInteger.contains(2);
// nếu resultCheck == true
// thì hiển thị thông báo “Có phần tử 2 trong arrListInteger.”
// ngược lại hiển thị thông báo “Không tìm thấy phần tử 2.”
if (resultCheck == true) {
System.out.println(“Có phần tử 2 trong arrListInteger.”);
} else {
System.out.println(“Không tìm thấy phần tử 2.”);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Tìm kiếm vị trí xuất hiện đầu tiên của 1 phần tửtrong ArrayList.

Để tìm kiếm vị trí xuất hiện đầu tiên của 1 phần tửtrong ArrayList, chúng ta sẽ sừ dụng phương thứcindexOf(). Kết quả của phương thức này sẽ trả về chỉ sốxuất hiện đầu tiên của phần tử đó trong ArrayList, ngược lại nếu không tìm thấy trả về -1.

Cú pháp

int indexOf(giá_trị_phần_tử_cần_tìm);

Ví dụ

public static void main(String[] args) {
ArrayList<String> arrListString = new ArrayList<>();
arrListString.add(“Bird”);
arrListString.add(“Rabbit”);
arrListString.add(“Tiger”);
arrListString.add(“Bird”);
// Tìm kiếm vị trí xuất hiện đầu tiên của phần tử “Bird” trong arrListString
// sử dụng phương thức indexOf()
// kết quả của phương thức này sẽ trả về 1 biến có kiểu số nguyên
int position1 = arrListString.indexOf(“Bird”);
System.out.println(“Vị trí xuất hiện đầu tiên của phần tử \”Bird\” trong ArrayList là ”
+ position1);
// Tìm kiếm vị trí xuất hiện đầu tiên của phần tử “Cat” trong arrListString
// vì phần tử này không có trong arrListString
// nên kết quả sẽ bằng -1
int position2 = arrListString.indexOf(“Cat”);
System.out.println(“Vị trí xuất hiện đầu tiên của phần tử \”Cat\” trong ArrayList là ”
+ position2);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Tìm kiếm vị trí xuất hiện cuối cùngcủa 1 phần tửtrong List.

Để tìm kiếmvị trí xuất hiện cuối cùngcủa 1 phần tửtrong ArrayList, chúng ta sẽ sừ dụng phương thứclastIndexOf(). Kết quả của phương thức này sẽ trả về chỉ sốxuất hiện cuối cùngcủa phần tử đó trong ArrayList, ngược lại nếu không tìm thấytrả về -1.

Cú pháp

int lastIndexOf(giá_trị_phần_tử_cần_tìm);

Ví dụ

public static void main(String[] args) {
ArrayList<Character> arrListChar = new ArrayList<>();
arrListChar.add(‘A’);
arrListChar.add(‘B’);
arrListChar.add(‘C’);
arrListChar.add(‘D’);
arrListChar.add(‘E’);
arrListChar.add(‘F’);
arrListChar.add(‘C’);
arrListChar.add(‘D’);
// Tìm kiếm vị trí xuất hiện cuối cùng của phần tử ‘C’ trong arrListChar
// sử dụng phương thức lastIndexOf()
// trong arrListChar có 2 phần tử ‘C’
// nên kết quả của chương trình sẽ trả về chỉ số của phần tử ‘C’ cuối cùng là 6
int position1 = arrListChar.lastIndexOf(‘C’);
System.out.println(“Vị trí xuất hiện cuối cùng của phần tử \’C\’ trong arrListChar là ”
+ position1);
// Tìm kiếm vị trí xuất hiện cuối cùng của phần tử ‘D’ trong arrListChar
// sử dụng phương thức lastIndexOf()
// trong arrListChar có 2 phần tử ‘D’
// nên kết quả của chương trình sẽ trả về chỉ số của phần tử ‘D’ cuối cùng là 7
int position2 = arrListChar.lastIndexOf(‘D’);
System.out.println(“Vị trí xuất hiện cuối cùng của phần tử \’D\’ trong arrListChar là ”
+ position2);
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Chuyển ArrayList sang Array (mảng)

Java cung cấp cho chúng ta phương thức toArray() để chuyển đổi một ArrayList sang mảng tương ứng. Sau đây là ví dụ minh họa phương thức này:

Ví dụ

public static void main(String[] args) {
ArrayList<Integer> arrListInteger = new ArrayList<>();
arrListInteger.add(2);
arrListInteger.add(4);
arrListInteger.add(6);
arrListInteger.add(8);
// chuyển đổi arrListInteger sang mảng
// sử dụng phương thức toArray()
// kết quả của phương thức này sẽ trả về mảng arr
// có kiểu là Object (chi tiết về Object chúng ta sẽ gặp trong các bài sau)
Object[] arr = arrListInteger.toArray();
// sử dụng vòng lặp for để hiển thị các phần tử có trong mảng arr
for (int i = 0; i < arr.length; i++) {
System.out.println(“Phần tử tại vị trí ” + i + ” trong arr là ” + arr[i]);
}
}

Kết quả sau khi biên dịch chương trình:

Thay đổi phần tử trong ArrayList

Phương thức set() trong ArrayList Java

Trong bài viết này chúng ta sẽ tìm hiểu về phương thức set() trong ArrayList Java. Đây là một phương thức được sử dụng để thay thế một phần tử tại vị trí chỉ định bằng một phần tử khác.

Thay đổi phần tử trong ArrayList

Thay đổi phần tử trong ArrayList

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Phương thức set() là phương thức có sẵn trong thư viện ArrayList, vì vậy để sử dụng được nó các bạn phải khai báo đã nhé: import java.util.ArrayList;

1. Tạo một ArrayList

Sau đây là cách chúng ta có thể tạo ArrayList trong Java:

ArrayList<Type> arrayList= new ArrayList<>();

Ở đây, Type là kiểu dữ liệu của ArrayList mà ta muốn tạo. Ví dụ,

// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();

Chương trình trên đã sử dụng kiểu dữ liệu Integer và String. Ở đây, Integer là class bao bọc trương ứng của kiểu dữ liệu int.

–>

Một class bao bọc là một class đóng gói một kiểu dữ liệu cơ bản. Ví dụ, class Integer bao bọc kiểu int, class Float bao bọc kiểu float, v.v.

Lưu ý: không thể tạo danh sách các mảng thuộc kiểu dữ liệu cơ bản như int, float, char, v.v Thay vào đó, ta phải sử dụng class bao bọc tương ứng của chúng.

Đối với chuỗi, String là một class. Do đó, chúng ta sử dụng class String như một class bao bọc của nó luôn.

Chúng ta cũng có thể tạo ArrayList bằng List interface. Đó là bởi vì class ArrayList triển khai List interface.

List<String> list = new ArrayList<>();

Các hàm của ArrayList

ArrayList cung cấp các hàm khác nhau cho phép chúng ta thực hiện các toán tử trên Arraylist.

2. Thêm phần tử vào ArrayList

1. Sử dụng hàm add ()

Để thêm một phần tử vào ArrayList, chúng ta sử dụng hàm add(). Ví dụ,

import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements
animals.add(“Dog”);
animals.add(“Cat”);
animals.add(“Horse”);
System.out.println(“ArrayList: ” + animals);
}
}

Kết quả

ArrayList: [Dog, Cat, Horse]

Sử dụng chỉ số

Chúng ta cũng có thể thêm nhiều phần tử vào một ArrayList bằng cách sử dụng các chỉ số. Ví dụ,

import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements
animals.add(0,”Dog”);
animals.add(1,”Cat”);
animals.add(2,”Horse”);
System.out.println(“ArrayList: ” + animals);
}
}

Kết quả

ArrayList: [Dog, Cat, Horse]

Thêm các phần tử từ ArrayList này vào ArrayList khác

Để thêm tất cả các phần tử của ArrayList này vào một ArrayList mới, chúng ta sử dụng hàm addAll(). Ví dụ,

/**
* .vn – Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact:
* Fanpage: https://www.facebook.com/cafedevn
* Instagram: https://instagram.com/cafedevn
* Twitter: https://twitter.com/CafedeVn
* Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> mammals = new ArrayList<>();
mammals.add(“Dog”);
mammals.add(“Cat”);
mammals.add(“Horse”);
System.out.println(“Mammals: ” + mammals);
ArrayList<String> animals = new ArrayList<>();
animals.add(“Crocodile”);
// Add all elements of mammals in animals
animals.addAll(mammals);
System.out.println(“Animals: ” + animals);
}
}

Kết quả

Mammals: [Dog, Cat, Horse]
Animals: [Crocodile, Dog, Cat, Horse]