(JAVA) Loại bỏ các phần tử trùng lặp trong một List như thế nào.

List là một trong những Collection được sử dụng nhiều nhất trong java. Nó cung cấp cho sự linh hoạt của việc thêm nhiều phần tử null, phần tử trùng lặp và cũng duy trì thứ tự chèn của các phần tử. Đôi khi, bạn gặp yêu cầu mà bạn phải loại bỏ các phần tử trùng lặp từ List đã xây dựng xong. Trong bài này, chúng ta sẽ cùng thảo luận các phương pháp để loại bỏ các phần tử trùng lặp từ một List.

1. Loại bỏ phần tử trùng lặp trong ArrayList sử dụng vòng lặp for

Kết quả đạt được.

2. Loại bỏ phần tử trùng lặp trong ArrayList sử dụng HashSet


Trong phương pháp này, tôi sử dụng HashSet để loại bỏ các phần tử trùng lặp từ một ArrayList. Như bạn đã biết, HashSet không cho phép các phần tử trùng lặp. Tôi sử dụng thuộc tính này của HashSet để loại bỏ các phần tử trùng lặp từ ArrayList đã xây dựng xong. Tuy nhiên, có một bất lợi của phương pháp này. Nghĩa là, nó xóa thứ tự chèn của các phần tử ArrayList. Điều đó có nghĩa là, sau khi gỡ bỏ các phần tử trùng lặp, các phần tử sẽ không còn đúng thứ tự chèn.



Kết quả đạt được.


3. Loại bỏ phần tử trùng lặp trong ArrayList sử dụng LinkedHashSet

Trong phương pháp này, tôi sử dụng LinkedHashSet để loại bỏ các phần tử trùng lặp từ ArrayList. Như bạn biết rằng, LinkedHashSet không cho phép các phần tử trùng lặp và duy trì thứ tự chèn của các phần tử. Cả hai thuộc tính này của LinkedHashSet được sử dụng ở đây để loại bỏ các phần tử trùng lặp khỏi ArrayList và cũng duy trì trình tự chèn của các phần tử. Xem ví dụ dưới đây:

Kết quả đạt được.

Trên đây là 3 phương pháp thường được sử dụng để loại bỏ các phần tử trùng lặp trong ArrayList. Bạn có thể sử dụng một trong ba phương pháp trên để áp dụng vào chương trình của mình. Trong thực tế, tôi thường sử dụng phương pháp 2 (dùng HashSet) nếu không cần quan tâm đến thứ tự của các phần tử hoặc sử dụng phương pháp 3 (dùng LinkedHashSet) nếu cần giữ đúng thứ tự của phần tử sau khi loại bỏ phần tử trùng.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x