Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java xóa phần tử trùng lặp khỏi ArrayList

Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa phần tử trùng lặp (duplicate) khỏi ArrayList. ArrayList mở rộng AbstractList và triển khai List interface, hỗ trợ mảng động.

Ví dụ minh họa

Đầu vào:

Danh sách được định nghĩa: [Java, Scala, JavaScript, Scala]

Đầu ra mong muốn:

Danh sách sau khi xóa trùng lặp: [Java, Scala, JavaScript]

Thuật toán

  1. Bắt đầu
  2. Khai báo ArrayList input_list và Set temp
  3. Gán giá trị
  4. Chuyển List sang Set (Set không cho phép trùng lặp) - dùng LinkedHashSet để giữ thứ tự
  5. Chuyển ngược Set về List
  6. Hiển thị kết quả
  7. Kết thúc

Ví dụ 1: Xử lý trực tiếp trong main

import java.util.*;

public class Demo {
    public static void main(String args[]) {
        ArrayList<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("Scala");
        input_list.add("JavaScript");
        input_list.add("Scala");
        System.out.println("Danh sách được định nghĩa: " + input_list);
        Set<String> temp = new LinkedHashSet<>(input_list);
        List<String> result_list = new ArrayList<>(temp);
        System.out.println("Danh sách sau khi xóa trùng lặp: " + result_list);
    }
}

Kết quả

Danh sách được định nghĩa: [Java, Scala, JavaScript, Scala]
Danh sách sau khi xóa trùng lặp: [Java, Scala, JavaScript]

Ví dụ 2: Sử dụng phương thức tách biệt (OOP)

import java.util.*;

public class Demo {
    static void remove_duplicates(ArrayList<String> input_list) {
        Set<String> temp = new LinkedHashSet<>(input_list);
        List<String> result_list = new ArrayList<>(temp);
        System.out.println("Danh sách sau khi xóa trùng lặp: " + result_list);
    }
    public static void main(String args[]) {
        ArrayList<String> input_list = new ArrayList<String>();
        input_list.add("Java");
        input_list.add("Scala");
        input_list.add("JavaScript");
        input_list.add("Scala");
        System.out.println("Danh sách được định nghĩa: " + input_list);
        remove_duplicates(input_list);
    }
}

Kết quả

Danh sách được định nghĩa: [Java, Scala, JavaScript, Scala]
Danh sách sau khi xóa trùng lặp: [Java, Scala, JavaScript]