고유값과 집합 연산을 사용합니다.
Set은 중복을 허용하지 않습니다. HashSet은 일반적인 빠른 포함 검사, LinkedHashSet은 삽입 순서, TreeSet은 정렬 순서를 제공합니다.
예제에서 Set<Type> values = new HashSet<>(); 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
중복 판단은 equals와 hashCode 계약을 사용합니다. 사용자 클래스에서 둘을 일관되게 구현하지 않으면 같은 의미의 값이 중복될 수 있습니다.
권한과 태그처럼 순서보다 포함 여부가 중요한 데이터에 사용하고 출력 순서가 필요하면 구현을 명시합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 두 기술 집합의 교집합을 구하세요.
HashSet의 반복 순서를 입력 순서라고 가정하지 마세요.
직접 바꿔보세요두 기술 집합의 교집합을 구하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.