Mảng Java ArrayList

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về lớp ArrayList trong Java. Chúng ta sẽ tìm hiểu về các hoạt động và phương thức khác nhau của danh sách mảng với sự trợ giúp của các ví dụ.

Các ArrayListlớp học của khuôn khổ bộ sưu tập Java cung cấp các chức năng của resizable-mảng .

Nó thực hiện Listgiao diện.Triển khai Java ArrayList

Mảng Java ArrayList

Trong Java, chúng ta cần khai báo kích thước của một mảng trước khi 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 ta có thể sử dụng ArrayListlớp. Nó cho phép chúng ta 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 nó khi chúng ta thêm hoặc bớt các phần tử khỏi nó. 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, chúng ta cần nhập java.util.ArrayListgói trước. Đây là cách chúng ta có thể tạo danh sách mảng trong Java:

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

Ở đây, Type cho biết kiểu của một danh sách mảng. Ví dụ,

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

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

Trong chương trình trên, chúng ta đã sử dụng hàm Integernot 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, Integerlà 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

import java.util.ArrayList;

class Main {
  public static void main(String[] args){

    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Add elements to ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

Đầu ra

ArrayList: [Java, Python, Swift]

Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữArrayList được đặt tên .

Ở đây, chúng ta đã sử dụng add()phương thức để 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ề add()phương pháp sau trong hướng dẫn này.

Lưu ý : Chúng ta cũng có thể tạo một danh sách mảng bằng Listgiao diện. Đó là bởi vì ArrayListlớp thực thi Listgiao diện.

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

Các thao tác cơ bản trên ArrayList

Các ArrayListlớp học cung cấp phương pháp khác nhau để thực hiện các hoạt động khác nhau trên ArrayLists. 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:

  • Add elements
  • Access elements
  • Change elements
  • Remove elements

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 ta sử dụng add()phương thức của ArrayListlớp. Ví dụ,

import java.util.ArrayList;

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

    // add() method without the index parameter
    languages.add("Java");
    languages.add("C");
    languages.add("Python");
    System.out.println("ArrayList: " + languages);

    // add() method with the index parameter
    languages.add(1, "JavaScript");
    System.out.println("Updated ArrayList: " + languages);
  }
}

Đầu ra

ArrayList: [Java, C, Python]
Updated ArrayList: [Java, JavaScript, C, Python]

Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữArrayList được đặt tên . Ở đây, chúng tôi đã sử dụng phương pháp để thêm các phần tử vào ngôn ngữ .add()

Lưu ý tuyên bố,

languages.add(1, "JavaScript");

Ở đây, chúng tôi đã sử dụng tham số số chỉ mục . Nó là một tham số tùy chọn chỉ định vị trí mà phần tử mới được thêm vào.

Để tìm hiểu thêm, hãy truy cập vào Java ArrayList add () .

Chúng ta cũng có thể thêm các phần tử của một tập hợp vào một danh sách mảng bằng cách sử dụng phương thức addAll () của Java ArrayList .

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 ta sử dụng get()phương thức của ArrayListlớp. Ví dụ,

import java.util.ArrayList;

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

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

    // get the element from the arraylist
    String str = animals.get(1);
    System.out.print("Element at index 1: " + str);
  }
}

Đầu ra

ArrayList: [Cat, Dog, Cow]
Element at index 1: Dog

Trong ví dụ trên, chúng ta đã sử dụng get()phương thức với tham số 1 . Ở đây, phương thức trả về phần tử ở 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 vào các yếu tố của ArrayListviệc sử dụng iterator()phương pháp. Để 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 phần tử của danh sách mảng, chúng ta sử dụng set()phương thức của ArrayListlớp. Ví dụ,

import java.util.ArrayList;

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

    // add elements in the array list
    languages.add("Java");
    languages.add("Kotlin");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // change the element of the array list
    languages.set(2, "JavaScript");
    System.out.println("Modified ArrayList: " + languages);
  }
}

Đầu ra

ArrayList: [Java, Kotlin, C++]
Modified ArrayList: [Java, Kotlin, JavaScript]

Trong ví dụ trên, chúng tôi đã tạo một ngôn ngữArrayList được đặt tên . Lưu ý dòng,

language.set(2, "JavaScript");

Ở đây, set()phương thức thay đổi phần tử ở chỉ mục 2 thành JavaScript .

Để tìm hiểu thêm, hãy truy cập tập hợp Java ArrayList () .

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 remove()phương thức của ArrayListlớp. Ví dụ,

import java.util.ArrayList;

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

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

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

Đầu ra

ArrayList: [Dog, Cat, Horse]
Updated ArrayList: [Dog, Cat]
Removed Element: Horse

Ở đây, remove()phương thức lấy số chỉ mục làm tham số. Và, loại bỏ 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

  • Java ArrayList removeAll()
  • Java ArrayList clear()

Phương thức của lớp ArrayList

Trong phần trước, chúng ta đã học về add()get()set(), và remove()phương pháp của ArrayListlớp.

Bên cạnh những phương pháp cơ bản, đây là một số ArrayListphương pháp khác thường được sử dụng.

MethodsDecfscriptions
size()Returns the length of the arraylist.
sort()Sort the arraylist elements.
clone()Creates a new arraylist with the same element, size, and capacity.
contains()Searches the arraylist for the specified element and returns a boolean result.
ensureCapacity()Specifies the total element the arraylist can contain.
isEmpty()Checks if the arraylist is empty.
indexOf()Searches a specified element in an arraylist and returns the index of the element.

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 Java ArrayList .

Lặp lại qua ArrayList

Chúng ta 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ụ,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // creating an array list
    ArrayList<String> animals = new ArrayList<>();
    animals.add("Cow");
    animals.add("Cat");
    animals.add("Dog");
    System.out.println("ArrayList: " + animals);

    // iterate using for-each loop
    System.out.println("Accessing individual elements:  ");

    for (String language : animals) {
      System.out.print(language);
      System.out.print(", ");
    }
  }
}

Đầu ra

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

ArrayList sang Array Chuyển đổi

Chúng ta có thể chuyển đổi ArrayListthành một mảng bằng toArray()phương thức này. Ví dụ,

import java.util.ArrayList;

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

    // add elements in the array list
    languages.add("Java");
    languages.add("Python");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

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

    // convert ArrayList into an array
    languages.toArray(arr);
    System.out.print("Array: ");

    // access elements of the array
    for (String item : arr) {
      System.out.print(item + ", ");
    }
  }
}

Đầu ra

ArrayList: [Java, Python, C++]
Array: Java, Python, C++, 

Trong ví dụ trên, chúng ta đã tạo một danh sách mảng có tên các ngôn ngữ . Lưu ý tuyên bố,

languages.toArray(arr);

Ở đây, toArray()phương thức chuyển đổi danh sách mả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 () .

Chuyển đổi mảng Java sang ArrayList

Chúng ta cũng có thể chuyển mảng thành một danh sách mảng. Đối với điều đó, chúng tôi sử dụng asList()phương thức của Arrayslớp.

Để sử dụng asList(), chúng ta phải nhập java.util.Arraysgói trước. Ví dụ,

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

class Main {
  public static void main(String[] args) {

    // create an array of String type
    String[] arr = { "Java", "Python", "C++" };
    System.out.print("Array: ");

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

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

Đầu ra

Array: Java Python C++        
ArrayList: [Java, Python, C++]

Trong chương trình trên, đầu tiên chúng ta tạo một mảng arrcủa các Stringloại. Lưu ý biểu thức,

Arrays.asList(arr)

Ở đây, asList()phương thức chuyển đổi mảng thành một danh sách mảng.

Lưu ý : Chúng ta cũng có thể sử dụng Arrays.asList()phương thức này để tạo và khởi tạo danh sách mảng trong một dòng. Ví dụ,

 // create and initialize arraylist
ArrayList<String> animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog"));

ArrayList to String Conversion

Chúng ta có thể sử dụng toString()phương thức của ArrayListlớp để chuyển một danh sách mảng thành một chuỗi. Ví dụ,

import java.util.ArrayList;

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

    // add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Kotlin");
    System.out.println("ArrayList: " + languages);

    // convert ArrayList into a String
    String str = languages.toString();
    System.out.println("String: " + str);
  }
}

Đầu ra

ArrayList: [Java, Python, Kotlin]
String: [Java, Python, Kotlin]

Ở đây, toString()phương thức chuyển đổi toàn bộ danh sách mảng thành một chuỗi duy nhất. Để tìm hiểu thêm, hãy truy cập Java ArrayList toString () .









Gõ tìm kiếm nhanh...