728x90
반응형
JAVA - List 중복데이터 제거하는 방법 2가지
최근에 코딩테스트 준비를 하다보면 input으로 주어지는 배열이 자주 등장하는데
로직의 효율성을 위해 중복제거해야 할 경우가 간혹 있었기 때문에 List 중복제거에 대해 기록한다.
1. Stream을 활용한 중복제거 - Java 1.8 이상
List<String> reportList = Arrays.asList(new String[]{"a", "b", "c", "d", "a", "c"})
.stream()
.distinct()
.collect(Collectors.toList());
// 결과 : [a, b, c, d]
2. Set을 활용한 중복제거
List<String> list = Arrays.asList(new String[]{"a", "b", "c", "d", "a", "c"});
// 1. 중복을 허용하지 않는 객체인 set으로 변환
Set<String> set = new HashSet<String>(list);
// 2. 중복제거된 set을 다시 list로 변환
List<String> distinctList = new ArrayList<String>(set);
// 결과 : [a, b, c, d]
728x90
반응형
'Programming > Java' 카테고리의 다른 글
[Java] 약수의 개수 구하는 최적의 방법(알고리즘) (0) | 2022.11.20 |
---|---|
[Java] Map이란? (개념, 활용, 예제 등) (0) | 2022.10.02 |
[Java] 스트림(Stream) 개념 및 사용법 / filter, map / iterator 비교 (0) | 2022.06.19 |
[Java] BigDecimal 사용법 및 예제 - 연산, 형변환, 비교 (0) | 2022.06.12 |
[Java] StringBuilder는 무엇인가? - 사용법 및 사용하는 이유 (0) | 2022.01.09 |