doublemetal 2013. 7. 18. 17:22

package practice;


import java.util.HashSet;

import java.util.Iterator;


public class HashSetEx5 {


public static void main(String[] args) {

// TODO Auto-generated method stub

HashSet setA = new HashSet();

HashSet setB = new HashSet();

HashSet setHab = new HashSet();

HashSet setKyo = new HashSet();

HashSet setCha = new HashSet();


setA.add("1");

setA.add("2");

setA.add("3");

setA.add("4");

setA.add("5");

System.out.println("A = " + setA);


setB.add("4");

setB.add("5");

setB.add("6");

setB.add("7");

setB.add("8");

System.out.println("B = " + setB);


Iterator it = setB.iterator();

while (it.hasNext()) {

Object tmp = it.next();

if (setA.contains(tmp))

setKyo.add(tmp);

//setA에 tmp가 있다면

//tmp를 교집합에 넣는다.

}


it = setA.iterator();

while (it.hasNext()) {

Object tmp = it.next();

if (!setB.contains(tmp))

setCha.add(tmp);

//setB에 tmp가 없다면

//tmp를 차집합에 넣는다.

}


it = setA.iterator();

while (it.hasNext()) {

setHab.add(it.next());

//setA의 요소를 전부 합집합에 넣는다.

}


it = setB.iterator();

while (it.hasNext()) {

setHab.add(it.next());

//setB의 요소를 전부 합집합에 넣는다.

}


System.out.println("A 교 B = " + setKyo);

System.out.println("A 합 B = " + setHab);

System.out.println("A - B = " + setCha);


}

}



결과 : 
A = [3, 2, 1, 5, 4]
B = [7, 6, 5, 4, 8]
A 교 B = [5, 4]
A 합 B = [3, 2, 1, 7, 6, 5, 4, 8]
A - B = [3, 2, 1]