English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 프로세스 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램으로 ArrayList에서 중복된 요소 제거

Java 예제 전체

이 예제에서는 Java로 ArrayList에서 중복된 요소를 제거하는 방법을 배웁니다

이 예제를 이해하기 위해 다음을 이해해야 합니다Java 프로그래밍주제:

예제1Set을 사용하여 ArrayList에서 중복된 요소를 제거합니다

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
class Main {
  public static void main(String[] args) {
    //배열에서 ArrayList를 생성합니다
    //Arrays 클래스의 asList() 메서드를 사용하여
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("중복 요소가 있는 ArrayList: " + numbers);
    //ArrayList을 Set으로 변환합니다
    Set<Integer> set = new LinkedHashSet<>();
    set.addAll(numbers);
    //ArrayList의 모든 요소를 제거합니다
    numbers.clear();
    //요소를 set 집합에서 ArrayList에 추가합니다
    numbers.addAll(set);
    System.out.println("중복 요소가 없는 ArrayList: "} + numbers);
  }
}

출력 결과

중복 요소가 있는 ArrayList: [1, 2, 3, 4, 1, 3]
중복 요소가 없는 ArrayList: [1, 2, 3, 4]

위의 예제에서 우리는 numbers라는 배열 목록을 생성했습니다. arraylist에는 중복 요소가 포함되어 있습니다.

ArrayList에서 중복 요소를 제거하려면, 다음과 같이 해야 합니다:

  • ArrayList의 모든 요소를 set 집합에 추가합니다

  • clear() 메서드를 사용하여 ArrayList를 비웁니다

  • set 집합의 모든 요소를 다시 ArrayList에 추가합니다

여기서, 우리는 LinkedHashSet를 사용하여 집합을 생성합니다. 이는 중복 요소를 제거하고 삽입 순서를 유지하기 때문입니다. 더 많은 정보를 얻으려면, 방문하십시오Java LinkedHashSet

예제2:Stream을 사용하여 ArrayList에서 중복 요소를 제거합니다

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Main {
  public static void main(String[] args) {
    //배열에서 ArrayList를 생성합니다
    //Array 클래스의 asList() 메서드를 사용하여
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("중복 요소가 있는 ArrayList: " + numbers);
    //배열리스트에서 스트림을 생성합니다
    Stream<Integer> stream = numbers.stream();
    //Stream의 distinct() 호출
    //중복 요소 제거
    stream = stream.distinct();
    //스트림을 ArrayList로 변환합니다
    numbers = (ArrayList<Integer>)stream.collect(Collectors.toList());
    System.out.println("중복 요소가 없는 ArrayList: "} + numbers);
  }
}

출력 결과

중복 요소가 있는 ArrayList: [1, 2, 3, 4, 1, 3]
중복 요소가 없는 ArrayList: [1, 2, 3, 4]

위의 예제에서 우리는 numbers라는 배열 목록을 생성했습니다. arraylist에는 중복 요소가 포함되어 있습니다.

여기서 우리는스트림클래스는 arraylist에서 중복 요소를 제거합니다.

  • Numbers.stream() - arraylist에서 스트림 생성

  • stream.distinct() - 중복 요소 제거

  • stream.collect(Collectors.toList()) - 스트림에서 목록 반환

여기서 우리는 타입 변환을 사용하여 반환된 목록을 arraylist로 변환합니다.

Java 예제 전체