Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 배열에서 중복 제거하기 본문
예제 1: HashSet을 활용한 중복 제거
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// 중복이 포함된 배열
Integer[] arr = {1, 2, 3, 3, 4, 5, 5, 6};
// 배열을 HashSet으로 변환하여 중복 제거
Set<Integer> set = new HashSet<>(Arrays.asList(arr));
// 결과 출력
System.out.println("중복 제거 후 배열: " + set);
}
}
HashSet을 사용하여 중복 요소를 제거할 수 있습니다. HashSet은 중복을 허용하지 않는 특징을 가지고 있어 중복 요소를 제거할 때 유용합니다.
예제 2: Stream을 활용한 중복 제거
import java.util.Arrays;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 중복이 포함된 배열
Integer[] arr = {1, 2, 3, 3, 4, 5, 5, 6};
// 배열을 Stream으로 변환하여 중복 제거
Integer[] distinctArr = Arrays.stream(arr).distinct().toArray(Integer[]::new);
// 결과 출력
System.out.println("중복 제거 후 배열: " + Arrays.toString(distinctArr));
}
}
Stream을 사용하여 중복 요소를 제거할 수 있습니다. distinct() 메서드를 호출하여 중복을 제거한 후, toArray() 메서드를 사용하여 배열로 변환합니다.
예제 3: 직접 중복 제거 로직 구현
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// 중복이 포함된 배열
Integer[] arr = {1, 2, 3, 3, 4, 5, 5, 6};
// 중복 제거를 위한 메서드 호출
Integer[] distinctArr = removeDuplicates(arr);
// 결과 출력
System.out.println("중복 제거 후 배열: " + Arrays.toString(distinctArr));
}
// 중복 제거 메서드
public static <T> T[] removeDuplicates(T[] arr) {
return Arrays.stream(arr).distinct().toArray(size -> Arrays.copyOf(arr, size));
}
}
직접 중복 제거 로직을 구현할 수도 있습니다. 여기서는 Stream과 Arrays.copyOf() 메서드를 사용하여 중복을 제거합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] Spring에서 MySQL을 MyBatis로 연동하기 (0) | 2024.03.08 |
---|---|
[Java/자바] 문자열에서 따옴표 제거하기 (0) | 2024.03.08 |
[Java/자바] 문자열에서 Index로 문자 가져오기 (0) | 2024.03.08 |
[Java/자바] 두 배열 비교하는 방법 (0) | 2024.03.08 |
[Java/자바] 2차원 배열의 길이 구하기 (0) | 2024.03.08 |