1) ArrayList를 이용한 합집합, 교집합 메소드 예제
package paiza;
import java.util.*;
public class ListUtil {
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>(Arrays.asList("A", "B", "C"));
List<String> list2 = new ArrayList<String>(Arrays.asList("B", "C", "D", "E", "F"));
System.out.println("교집합" + new ListUtil().intersection(list1, list2));
System.out.println("합집합" + new ListUtil().union(list1, list2));
}
public <T> List<T> union(List<T> list1, List<T> list2) { // 합집합 메소드
Set<T> set = new HashSet<T>();
set.addAll(list1);
set.addAll(list2);
return new ArrayList<T>(set);
}
public <T> List<T> intersection(List<T> list1, List<T> list2) { // 교집합 메소드
List<T> list = new ArrayList<T>();
for (T t : list1) {
if (list2.contains(t)) {
list.add(t);
}
}
return list;
}
}
결과)
교집합[B, C]
합집합[A, B, C, D, E, F]
'자바의 기초문법' 카테고리의 다른 글
파일 입출력 클래스: FileReader, FileWriter, FileInputStream, FileOutputStream (0) | 2015.12.28 |
---|---|
HashMap를 이용하여 사원명과 실적을 입력, 출력하는 문제 (0) | 2015.12.23 |
Exception 클래스 (0) | 2015.12.22 |
System 클래스: System.in/out, getenv, getProperties, exit, arraycopy (0) | 2015.12.22 |
자료구조 클래스: ArrayList, LinkedList, HashMap, HashSet (0) | 2015.12.22 |