Computer >> Máy Tính >  >> Lập trình >> Java

Java Loại bỏ các bản sao khỏi danh sách

Bài đăng này cung cấp các ví dụ, chỉ ra cách xóa các mục trùng lặp khỏi ArrayList trong Java.

Xóa các chuỗi trùng lặp khỏi ArrayList

Kể từ một Set không thể giữ các phần tử trùng lặp, chúng tôi có thể tạo một Set truyền đối tượng trong ArrayList với các bản sao dưới dạng một tham số.

Ví dụ:

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.Set;

public class RemoveDuplicatesFromArrayList {

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

        pets.add("cat");
        pets.add("dog");
        pets.add("cat");
        pets.add("hamster");

        System.out.println(pets);

        Set<String> hashSet = new LinkedHashSet(pets);
        ArrayList<String> removedDuplicates = new ArrayList(hashSet);

        System.out.println(removedDuplicates);
    }
}

Đầu ra:

[cat, dog, cat, hamster]
[cat, dog, hamster]

Có liên quan:

  • Cách so sánh hai ArrayLists trong Java
  • Cách lặp qua ArrayList trong Java
  • Cách chuyển đổi danh sách thành mảng trong Java

Xóa các số nguyên trùng lặp khỏi danh sách

Tương tự như vậy, chúng ta có thể sử dụng cùng một phương pháp để loại bỏ các số nguyên trùng lặp.

import java.util.*;

public class RemoveDuplicatesFromArrayList {

    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1,2,2,2,3,5);

        System.out.println(numbers);

        Set<Integer> hashSet = new LinkedHashSet(numbers);
        ArrayList<Integer> removedDuplicates = new ArrayList(hashSet);

        System.out.println(removedDuplicates);
    }
}

Đầu ra:

[1, 2, 2, 2, 3, 5]
[1, 2, 3, 5]

Xóa các bản sao khỏi danh sách bằng Java 8 Lambdas

import java.util.*;
import java.util.stream.Collectors;

public class RemoveDuplicatesFromArrayList {

    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1,2,2,2,3,5);

        System.out.println(numbers);

        List<Integer> removedDuplicates = numbers.stream()
                .distinct()
                .collect(Collectors.toList());

        System.out.println(removedDuplicates);
    }
}

Đầu ra:

[1, 2, 2, 2, 3, 5]
[1, 2, 3, 5]