Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 목록에서 중복 제거

이 게시물은 Java의 ArrayList에서 중복 항목을 제거하는 방법을 보여주는 예제를 제공합니다.

ArrayList에서 중복 문자열 제거

Set 이후 중복 요소를 보유할 수 없습니다. Set를 인스턴스화할 수 있습니다. 매개변수로 중복을 사용하여 ArrayList에 개체를 전달합니다.

예:

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);
    }
}

출력:

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

관련:

  • 자바에서 두 개의 ArrayList를 비교하는 방법
  • 자바에서 ArrayList를 반복하는 방법
  • Java에서 목록을 배열로 변환하는 방법

목록에서 중복 정수 제거

마찬가지로 동일한 방법을 사용하여 중복 정수를 제거할 수 있습니다.

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);
    }
}

출력:

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

Java 8 Lambda를 사용하여 목록에서 중복 제거

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);
    }
}

출력:

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