post-image

Chuyển đổi Array sang ArrayList và ngược lại

Tổng quan

Trong bài này tôi giới thiệu với các bạn phương pháp chuyển đổi ArrayList thành Array và Array thành ArrayList.

Sự khác nhau giữa Array với ArrayList

Mảng (Array) là một cấu trúc dữ liệu có kích thước cố định, trong khi ArrayList là một lớp Collection có thể thay đổi được kích thước. Nghĩa là chúng ta không thể thay đổi kích thước của mảng khi đã tạo, nhưng ArrayList có thể được thay đổi.

Chúng ta không thể lưu giữ dữ liệu nguyên thủy trong ArrayList, nó chỉ có thể chứa các đối tượng. Nhưng mảng có thể chứa cả hai kiểu dữ liệu nguyên thủy và các đối tượng trong Java. Kể từ Java 5, kiểu nguyên thủy được tự động chuyển đổi trong các đối tượng được gọi là auto-boxing.

Array

  • Kích thước cố định
  • Có thể lưu trữ dữ liệu kiểu nguyên thủy và đối tượng.
  • Tốc độ lưu trữ và thao tác nhanh hơn.
  • Chỉ có thuộc tính length.

ArrayList

  • Kích thước có thể thay đổi được.
  • Chỉ có thể lưu trữ dữ liệu kiểu đối tượng. Kể từ Java 5, kiểu nguyên thủy được tự động chuyển đổi trong các đối tượng được gọi là auto-boxing.
  • Tốc độ lưu trữ vào thao tác chậm hơn.
  • Có nhiều phương thức để thao tác với dữ liệu.

Chuyển đổi Array sang ArrayList sử dụng phương thức Arrays.asList()

package com.gpcoder.collection.list.arraylist;
 
import java.util.ArrayList;
import java.util.Arrays;
 
public class ArrayToArrayListExample1 {
    public static void main(String[] args) {
        // Array Declaration and initialization
        String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" };
 
        // Array to ArrayList conversion
        ArrayList<String> list = new ArrayList<String>(Arrays.asList(arr));
 
        // Adding new elements to the converted List
        list.add("C#");
        list.add("PHP");
 
        // Print list data
        System.out.println(list); // [JAVA, J2EE, JSP, SERVLETS, C#, PHP]
    }
}

Chuyển đổi Array sang ArrayList sử dụng phương thức Collections.addAll()

Tham khảo khoá học lập trình Java web trong vòng 6 tháng!!!

package com.gpcoder.collection.list.arraylist;
 
import java.util.ArrayList;
import java.util.Collections;
 
public class ArrayToArrayListExample2 {
    public static void main(String[] args) {
        // Array Declaration and initialization
        String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" };
 
        // ArrayList declaration
        ArrayList<String> list = new ArrayList<String>();
 
        // Array to ArrayList conversion
        Collections.addAll(list, arr);
 
        // Adding new elements to the converted List
        list.add("C#");
        list.add("PHP");
 
        // Print list data
        System.out.println(list); // [JAVA, J2EE, JSP, SERVLETS, C#, PHP]
    }
}

Chuyển đổi Array sang ArrayList sử dụng vòng lặp

package com.gpcoder.collection.list.arraylist;
 
import java.util.ArrayList;
 
public class ArrayToArrayListExample3 {
    public static void main(String[] args) {
        // Array Declaration and initialization
        String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" };
 
        // ArrayList declaration
        ArrayList<String> list = new ArrayList<String>();
 
        // Array to ArrayList conversion
        for (String item : arr) {
            list.add(item);
        }
 
        // Adding new elements to the converted List
        list.add("C#");
        list.add("PHP");
 
        // Print list data
        System.out.println(list); // [JAVA, J2EE, JSP, SERVLETS, C#, PHP]
    }
}

Chuyển đổi ArrayList sang Array sử dụng phương thức toArray()

package com.gpcoder.collection.list.arraylist;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class ArrayListToArray1 {
    public static void main(String[] args) {
        // Create list
        List<Integer> list = new ArrayList<Integer>();
        list.add(10);
        list.add(20);
        list.add(30);
        list.add(40);
 
        // Convert ArrayList to Array
        Integer[] arr = new Integer[list.size()];
        arr = list.toArray(arr);
 
        // Print data
        System.out.println(Arrays.toString(arr)); // [10, 20, 30, 40]
    }
}

Chuyển đổi ArrayList sang Array sử dụng vòng lặp

package com.gpcoder.collection.list.arraylist;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class ArrayListToArray2 {
    public static void main(String[] args) {
        // Create list
        List<Integer> list = new ArrayList<Integer>();
        list.add(10);
        list.add(20);
        list.add(30);
        list.add(40);
 
        // Convert ArrayList to Array
        Integer[] arr = new Integer[list.size()];
        for (int i = 0; i < list.size(); i++) {
            arr[i] = list.get(i);
        }
 
        // Print data
        System.out.println(Arrays.toString(arr)); // [10, 20, 30, 40]
    }
}

Nguồn: https://gpcoder.com/2842-chuyen-doi-array-sang-arraylist-va-nguoc-lai/


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Leave a Reply

Your email address will not be published. Required fields are marked *