Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa các phần tử trùng lặp khỏi ArrayList. List là tập hợp có thứ tự cho phép lưu trữ và truy xuất tuần tự, có thể chứa phần tử trùng lặp.
Ví dụ minh họa
Đầu vào:
Danh sách được định nghĩa: [Java, Scala, Python, Java]
Đầu ra mong muốn:
Danh sách sau khi xóa trùng lặp: [Java, Scala, Python]
Thuật toán
- Bắt đầu
- Khai báo List
input_listvà Setresult_set - Gán giá trị
- Chuyển List sang Set (Set không cho phép trùng lặp) - dùng LinkedHashSet để giữ thứ tự
- Hiển thị kết quả
- Kết thúc
Ví dụ 1: Xử lý trực tiếp trong main
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
System.out.println("Đã nhập các gói cần thiết");
List<String> input_list = new ArrayList<String>();
input_list.add("Java");
input_list.add("Scala");
input_list.add("Python");
input_list.add("Java");
System.out.println("Danh sách được định nghĩa: " + input_list.toString());
Set<String> result_set = new LinkedHashSet<String>(input_list);
System.out.println("Danh sách sau khi xóa trùng lặp: " + result_set);
}
}
Kết quả
Đã nhập các gói cần thiết Danh sách được định nghĩa: [Java, Scala, Python, Java] Danh sách sau khi xóa trùng lặp: [Java, Scala, Python]
Ví dụ 2: Sử dụng phương thức tách biệt (OOP)
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
public class Demo {
static void remove_duplicates(List<String> input_list) {
Set<String> result_set = new LinkedHashSet<String>(input_list);
System.out.println("Danh sách sau khi xóa trùng lặp: " + result_set);
}
public static void main(String[] args) {
System.out.println("Đã nhập các gói cần thiết");
List<String> input_list = new ArrayList<String>();
input_list.add("Java");
input_list.add("Scala");
input_list.add("Python");
input_list.add("Java");
System.out.println("Danh sách được định nghĩa: " + input_list.toString());
remove_duplicates(input_list);
}
}
Kết quả
Đã nhập các gói cần thiết Danh sách được định nghĩa: [Java, Scala, Python, Java] Danh sách sau khi xóa trùng lặp: [Java, Scala, Python]