Collections.frequency 이용
- 컬렉션 안에 있는 객체가 몇번 등장했는지 횟수를 리턴해준다.
사용법
Collections.frequency(객체를 담고 있는 컬렉션 인스턴스, 중복을 확인할 객체)
예시
int[] 배열에 중복값이 존재하면 중복값만 뽑아서 리스트로 만들어라
// int[] nums 가 존재.
// 우선 int[]배열을 리스트로 변환
// Arrays.stream(int 배열) 로 IntStream 으로 변환 -> boxed로 Stream<Integer> -> collect로 List로 변환
ArrayList<Integer> list = (ArrayList<Integer>) Arrays.stream(nums).boxed().collect(Collectors.toList());
ArrayList<Integer> answer =
(ArrayList<Integer>) list.stream()
.filter(integer -> Collections.frequency(list, integer) > 1) // 1보다 크다는것은 중복값이 존재한다는 의미로 filter로 중복이 존재하는 값들을 걸러줌
.distinct() // filter로 거른 후 중복값 제거
.sorted() // 정렬
.collect(Collectors.toList()); // 리스트로 변환후 반환
'TIL' 카테고리의 다른 글
MxN 행렬 데이터의 특정 원소의 행,열 모두를 변경하기 (0) | 2022.04.06 |
---|---|
파스칼의 삼각형 (0) | 2022.04.01 |
원시값 배열을 Stream을 이용해서 리스트로 바꾸기 (0) | 2022.03.30 |
자바 기초 문제 - 사탕 나눠 주기 (0) | 2022.03.30 |
자바 기초 문제(커서 편집기) (0) | 2022.03.29 |
댓글