import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; public class Distinct { public static void main(String[] args) { System.out.println("defaultDistinctWithOnlyString"); List names = Arrays.asList("aaa", "bbb", "ccc", "ddd", "aaa", "ccc", "aaa", "aaa"); List distinctList = names.stream().distinct().collect(Collectors.toList()); distinctList.forEach(System.out::println); // result : aaa , bbb, ccc , ddd // 다음의 경우에는 기대와는 다른 결과가 나올 수 있다. Person p1 = new Person(); Person p2 = new Person(); Person p3 = new Person(); Person p4 = new Person(); Person p5 = new Person(); p1.setName("aaa"); p1.setAge(20); p1.setHeight(175); p2.setName("bbb"); p2....