// 컬렉션 set1과 컬렉션 set2를 비교해서
// 동일한 것만 남기고 삭제
set1.retainAll(set2)
HashSet에는 정렬 메소드가 없기 때문에 사전순 정렬을 하기 위해 ArrayList로 바꿔서 정렬해주었다.
ArrayList<String> answer = new ArrayList<String>(nStr);
Collections.sort(answer);
Iterator는 모든 컬렉션 프레임워크에 공통으로 사용 가능하다. 컬렉션 프레임워크에서 쉽게 값을 가져오고 제거할 수 있다.
Iterator iter = answer.iterator(); // Iterator 선언
while (iter.hasNext()) { // 다음값이 있는지 체크
System.out.println(iter.next()); // 값 출력
}
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
HashSet<String> nStr = new HashSet<String>();
int m = Integer.parseInt(st.nextToken());
HashSet<String> mStr = new HashSet<String>();
for(int i=0; i<n; i++) {
nStr.add(br.readLine());
}
for(int i=0; i<m; i++) {
mStr.add(br.readLine());
}
//동일한 것만 남기고 삭제
nStr.retainAll(mStr);
//사전순으로 정렬하기 위해 ArrayList 사용
ArrayList<String> answer = new ArrayList<String>(nStr);
Collections.sort(answer);
System.out.println(answer.size());
Iterator iter = answer.iterator(); // Iterator 선언
while (iter.hasNext()) { // 다음값이 있는지 체크
System.out.println(iter.next()); // 값 출력
}
}
}