728x90
반응형
/**
* @param list 중복이 있는 리스트
* @param key 중복 여부를 판단하는 키값
* @param <T> 제네릭 타입
* @return List
*/
public <T> List<T> deduplication(ArrayList<T> list, Function<? super T,?> key){
return list.stream().filter(deduplication(key)).collect(Collectors.toList());
}
public <T>Predicate<T> deduplication(Function<? super T,?> key){
Set<Object> set = ConcurrentHashMap.newKeySet();
return predicate ->set.add(key.apply(predicate));
}
참고 :
https://sunghs.tistory.com/130
[JAVA] Java Object List 중복제거
Java Object List 중복제거 Github 소스 Java8 이상의 Collections에는 Stream API 사용 시 distinct라는 중복 제거 메소드가 있다. Stream API의 distinct 메소드는 Object 의 equals 로 비교하므로 객체 자체가..
sunghs.tistory.com
728x90
반응형
'JAVA' 카테고리의 다른 글
2차원 배열 4배수 (0) | 2022.12.14 |
---|---|
정규식 전화번호 하이픈 넣기 (0) | 2021.10.08 |
문자열에 공백 수 (0) | 2020.11.23 |
암호화 SHA-256 (0) | 2020.05.21 |
JSON 정리 (0) | 2019.11.21 |