[Tự học Java] Class ArrayList trong Java » https://final-blade.com

Trong hướng dẫn này, tất cả chúng ta sẽ khám phá về class ArrayList trong. Chúng ta sẽ tìm hiểu và khám phá về những toán tử và hàm ArrayList khác nhau qua những ví dụ .

Class ArrayList triển khai List interface mà cho phép chúng ta tạo ra các mảng có thể thay đổi kích thước.

Mảng và ArrayList trong Java

Trong Java, tất cả chúng ta cần khai báo độ dài của một mảng trước khi sử dụng. Khi đã khai báo kích cỡ của một mảng rồi thì rất khó để biến hóa kích cỡ đó .
Để giải quyết và xử lý yếu tố này, tất cả chúng ta hoàn toàn có thể sử dụng lớp ArrayList. Các lớp ArrayList xuất hiện trong gói java.util được cho phép tất cả chúng ta tạo ra những mảng hoàn toàn có thể biến hóa size .
Không giống như mảng, ArrayList ( đối tượng người tiêu dùng của class ArrayList ) hoàn toàn có thể tự động hóa kiểm soát và điều chỉnh kích cỡ của nó khi tất cả chúng ta thêm vào hoặc xóa đi những thành phần. Do đó, ArrayList còn được gọi là mảng động .

1. Tạo một ArrayList

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

ArrayList arrayList= new ArrayList<>();

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

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

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

Chương trình trên đã sử dụng kiểu tài liệu Integer và String. Ở đây, Integer là class bảo phủ trương ứng của kiểu tài liệu int .
Một class bảo phủ là một class đóng gói một kiểu tài liệu cơ bản. Ví dụ, class Integer bảo phủ kiểu int, class Float phủ bọc kiểu float, v.v.
Lưu ý : không hề tạo list những mảng thuộc kiểu tài liệu cơ bản như int, float, char, v.v Thay vào đó, ta phải sử dụng class bảo phủ tương ứng của chúng .
Đối với chuỗi, String là một class. Do đó, tất cả chúng ta sử dụng class String như một class phủ bọc của nó luôn .
Chúng ta cũng hoàn toàn có thể tạo ArrayList bằng List interface. Đó là chính do class ArrayList tiến hành List interface .

List list = new ArrayList<>();

Các hàm của ArrayList

ArrayList phân phối những hàm khác nhau được cho phép tất cả chúng ta thực thi những 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 thành phần vào ArrayList, tất cả chúng ta sử dụng hàm add ( ). Ví dụ ,

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList 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 hoàn toàn có thể thêm nhiều thành phần vào một ArrayList bằng cách sử dụng những chỉ số. Ví dụ ,

import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList 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ổng thể những thành phần của ArrayList này vào một ArrayList mới, tất cả chúng ta sử dụng hàm addAll ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 mammals = new ArrayList<>();
        mammals.add("Dog");
        mammals.add("Cat");
        mammals.add("Horse");
        System.out.println("Mammals: " + mammals);

        ArrayList 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]

3. Khởi tạo một ArrayList bằng cách sử dụng hàm asList()

Khác với mảng, tất cả chúng ta không hề khởi tạo ArrayList một cách trực tiếp. Tuy nhiên, tất cả chúng ta hoàn toàn có thể sử dụng hàm asList ( ) của class Arrays để làm điều đó .
Để sử dụng hàm asList ( ) này, tiên phong, tất cả chúng ta phải nhập gói java.util. Arrays .
Ví dụ ,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
    public static void main(String[] args) {
        // Creating an array list
        ArrayList animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog"));
        System.out.println("ArrayList: " + animals);

        // Access elements of the array list
        String element = animals.get(1);
        System.out.println("Accessed Element: " + element);
    }
}

Kết quả

ArrayList: [Cat, Cow, Dog]
Accessed Elemenet: Cow

Trong ví dụ trên, hãy chú ý quan tâm biểu thức :

new ArrayList<>(Arrays.asList(("Cat", "Cow", "Dog"));

Ở đây, thứ nhất tất cả chúng ta tạo ra một mảng gồm 3 thành phần : ” Cat ”, “ Cow ” và “ Dog ”. Sau đó, hàm asList ( ) được sử dụng để quy đổi mảng thành một ArrayList .
Để tìm hiểu và khám phá thêm về những cách khác nhau để khởi tạo một ArrayList, hãy truy vấn : Khởi tạo một ArrayList trong một Dòng

4. Truy cập tới các phần tử trong ArrayList

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

Để truy vấn ngẫu nhiên những thành phần của ArrayList, tất cả chúng ta sử dụng hàm get ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals= new ArrayList<>();

        // Add elements in the array list
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("ArrayList: " + animals);

        // Get the element from the array list
        String str = animals.get(0);
        System.out.print("Element at index 0: " + str);
    }
}

Kết quả

ArrayList: [Dog, Horse, Cat]
Element at index 0: Dog

2. Sử dụng hàm iterator()

Để truy vấn những thành phần của ArrayList một cách tuần tự, tất cả chúng ta sử dụng hàm iterator ( ). Chúng ta phải nhập gói java.util. Iterator để sử dụng hàm này. Ví dụ ,

import java.util.ArrayList;
import java.util.Iterator;

class Main {
    public static void main(String[] args){
        ArrayList animals = new ArrayList<>();

        // Add elements in the array list
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        animals.add("Zebra");

        // Create an object of Iterator
        Iterator iterate = animals.iterator();
        System.out.print("ArrayList: ");

        // Use methods of Iterator to access elements
        while(iterate.hasNext()){
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Kết quả

ArrayList: Dog, Cat, Horse, Zebra,

Lưu ý :

Hàm hasNext() trả về true nếu có một phần tử tiếp theo trong ArrayList.

Hàm next ( ) trả về thành phần tiếp theo trong ArrayList .

5. Thay đổi các phần tử trong ArrayList

Để đổi khác những thành phần của ArrayList, tất cả chúng ta hoàn toàn có thể sử dụng hàm set ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals= new ArrayList<>();
        // Add elements in the array list
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        // Change the element of the array list
        animals.set(2, "Zebra");
        System.out.println("Modified ArrayList: " + animals);
    }
}

Kết quả

ArrayList: [Dog, Cat, Horse]
Modified ArrayList: [Dog, Cat, Zebra]

6. Xóa các phần tử trong ArrayList

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

Để vô hiệu một thành phần khỏi ArrayList, tất cả chúng ta hoàn toàn có thể sử dụng hàm remove ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals = new ArrayList<>();

        // Add elements in the array list
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("Initial ArrayList: " + animals);

        // Remove element from index 2
        String str = animals.remove(2);
        System.out.println("Final ArrayList: " + animals);
        System. out.println("Removed Element: " + str);
    }
}

Kết quả

Initial ArrayList: [Dog, Cat, Horse]
Final ArrayList: [Dog, Cat]
Removed Element: Horse

2. Sử dụng hàm removeAll ()

Để vô hiệu tổng thể những thành phần khỏi ArrayList, tất cả chúng ta sử dụng hàm removeAll ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals = new ArrayList<>();

        // Add elements in the ArrayList
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("Initial ArrayList: " + animals);

        // Remove all the elements
        animals.removeAll(animals);
        System.out.println("Final ArrayList: " + animals);
    }
}

Kết quả

Initial ArrayList: [Dog, Cat, Horse]
Final ArrayList: []

3. Sử dụng hàm Clear ()

Chúng ta cũng hoàn toàn có thể sử dụng hàm clear ( ) để vô hiệu tổng thể những thành phần khỏi ArrayList. Ví dụ ,

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList animals= new ArrayList<>();

        // Add elements in the array list
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("Initial ArrayList: " + animals);

        // Remove all the elements
        animals.clear();
        System.out.println("Final ArrayList: " + animals);
    }
}

Kết quả

Initial ArrayList: [Dog, Cat, Horse]
Final ArrayList: []

Lưu ý : Dùng hàm clear ( ) sẽ hiệu suất cao hơn so với hàm removeAll ( ) .

7. Lặp qua một ArrayList

1. Sử dụng vòng lặp for

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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) {
        // Creating an array list
        ArrayList animals = new ArrayList<>();
        animals.add("Cow");
        animals.add("Cat");
        animals.add("Dog");
        System.out.println("ArrayList: " + animals);

        // Using for loop
        System.out.println("Accessing individual elements: ");

        for(int i = 0; i < animals.size(); i++) {
            System.out.print(animals.get(i));
            System.out.print(", ");
        }
    }
}

Kết quả

ArrayList: [Cow, Cat, Dog]
Accessing individual elements:
Cow, Cat, Dog,

2. Sử dụng vòng lặp forEach

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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) {
        // Creating an array list
        ArrayList animals = new ArrayList<>();
        animals.add("Cow");
        animals.add("Cat");
        animals.add("Dog");
        System.out.println("ArrayList: " + animals);

        // Using forEach loop
        System.out.println("Accessing individual elements:  ");
        for(String animal : animals) {
            System.out.print(animal);
            System.out.print(", ");
        }
    }
}

Kết quả

ArrayList: [Cow, Cat, Dog]
Accessing individual elements:
Cow, Cat, Dog,

Trong cả hai ví dụ, tất cả chúng ta đã truy vấn những thành phần riêng không liên quan gì đến nhau của một ArrayList bằng cách sử dụng những vòng lặp .

8. Xem độ dài ArrayList

Để có được độ dài của ArrayList, tất cả chúng ta sử dụng hàm size ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals= new ArrayList<>();

        // Adding elements in the arrayList
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("ArrayList: " + animals);

        // getting the size of the arrayList
        System.out.println("Size: " + animals.size());
    }
}

Kết quả

ArrayList: [Dog, Horse, Cat]
Size: 3

9. Sắp xếp các phần tử của một ArrayList

Để sắp xếp những thành phần của một ArrayList, tất cả chúng ta sử dụng hàm sort ( ) của class Collections. Để sử dụng nó, thứ nhất, tất cả chúng ta phải nhập gói java.util. Collections .
Theo mặc định, việc sắp xếp xảy ra theo thứ tự bảng vần âm hoặc thứ tự sốtheo chiều tăng dần. Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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;
import java.util.Collections;

class Main {
    public static void main(String[] args){
        ArrayList animals= new ArrayList<>();

        // Add elements in the array list
        animals.add("Horse");
        animals.add("Zebra");
        animals.add("Dog");
        animals.add("Cat");

        System.out.println("Unsorted ArrayList: " + animals);

        // Sort the array list
        Collections.sort(animals);
        System.out.println("Sorted ArrayList: " + animals);
    }
}

Kết quả

Unsorted ArrayList: [Horse, Zebra, Dog, Cat]
Sorted ArrayList: [Cat, Dog, Horse, Zebra]

Để tìm hiểu và khám phá thêm về cách sắp xếp ArrayList, hãy truy vấn sắp xếp Java ArrayList .

10. Chuyển ArrayList thành Array trong Java

Trong Java, tất cả chúng ta hoàn toàn có thể quy đổi ArrayList thành mảng bằng hàm toArray ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals= new ArrayList<>();

        // Add elements in the array list
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        // Create a new array of String type
        String[] arr = new String[animals.size()];

        // Convert ArrayList into an array
        animals.toArray(arr);
        System.out.print("Array: ");
        for(String item:arr) {
            System.out.print(item+", ");
        }
    }
}

Kết quả

ArrayList: [Dog, Cat, Horse]
Array: Dog, Cat, Horse,

11. Chuyển mảng thành ArrayList trong Java

Chúng ta cũng hoàn toàn có thể quy đổi mảng thành ArrayList. Để làm điều đó, tất cả chúng ta hoàn toàn có thể sử dụng hàm asList ( ) của class Array .
Để sử dụng hàm asList ( ), thứ nhất, tất cả chúng ta phải nhập gói java.util. Arrays. Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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;
import java.util.Arrays;

class Main {
    public static void main(String[] args) {
        // Create an array of String type
        String[] arr = {"Dog", "Cat", "Horse"};
        System.out.print("Array: ");

        // Print array
        for(String str: arr) {
            System.out.print(str);
            System.out.print(" ");
        }

        // Create an ArrayList from an array
        ArrayList animals = new ArrayList<>(Arrays.asList(arr));
        System.out.println("\nArrayList: " + animals);
    }
}

Kết quả

Array: Dog, Cat, Horse
ArrayList: [Dog, Cat, Horse]

Trong chương trình trên, tiên phong tất cả chúng ta tạo một mảng arr thuộc kiểu String .
Sau đó tất cả chúng ta quy đổi mảng thành một ArrayList bằng hàm asList ( ) .

12. Chuyển ArrayList thành String trong Java

Để quy đổi một Java thành String, tất cả chúng ta hoàn toàn có thể sử dụng hàm toString ( ). Ví dụ ,

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: [email protected]
* 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 animals = new ArrayList<>();

        // Add elements in the ArrayList
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");
        System.out.println("ArrayList: " + animals);

        // Convert ArrayList into an String
        String str = animals.toString();
        System.out.println("String: " + str);
    }
}

Kết quả

ArrayList: [Dog, Cat, Horse]
String: [Dog, Cat, Horse]

Lưu ý : hàm toString ( ) quy đổi hàng loạt ArrayList thành một String .

12. Các hàm ArrayList khác

Hàm Mô tả
clone() Tạo một ArrayList mới với cùng phần tử, kích thước và dung lượng.
contains() Tìm kiếm ArrayList cho phần tử đã chỉ định và trả về kết quả boolean.
ensureCapacity() Chỉ định tổng phần tử mà ArrayList có thể chứa.
isEmpty() Kiểm tra nếu ArrayList trống.
indexOf() Tìm kiếm một phần tử được chỉ định trong ArrayList và trả về chỉ số của phần tử.
trimToSize() Giảm dung lượng của một ArrayList về kích thước hiện tại của nó.

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!