/** * @param list 중복이 있는 리스트 * @param key 중복 여부를 판단하는 키값 * @param 제네릭 타입 * @return List */ public List deduplication(ArrayList list, Function key){ return list.stream().filter(deduplication(key)).collect(Collectors.toList()); } public Predicate deduplication(Function key){ Set set = ConcurrentHashMap.newKeySet(); return predicate ->set.add(key.apply(predicate)); } 참고 : https://sunghs.tistory.com..