예제 9월 7일 Set의 사용

2009. 9. 7. 11:39
package net.jeongsam.collection;

import java.util.*;

class HashSetEx02 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Set<Integer> s1 = new HashSet<Integer>();
		
		/*
		s1.add(1);
		s1.add(3);
		*/
		
		Collections.addAll(s1, 10, 3, 5, 10, 7, 3, 8);
		
		System.out.println(s1);
		
		Set<String> s2 = new HashSet<String>();
		
		Collections.addAll(s2, "홍길동", "홍길동", "이몽룡");
		
		System.out.println(s2);
		
		// Foreach 문을 이용한 출력
		for (String e : s2)
			System.out.println(e);
		
		// Iterator 인터페이스 이용
		Iterator<String> i = s2.iterator();
		while (i.hasNext())
			System.out.println(i.next());
		
		// Set에 데이터 추가
		s2.add("성춘향");
		
		// Set에서 데이터 검색 : true or false 
		System.out.println(s2.contains("이몽룡"));
		
		// Set에서 집합 검색 : true of false
		Set<String> comp = new HashSet<String>();
		Collections.addAll(comp, "이몽룡", "성춘향", "홍길동");
		// Collections.addAll(comp, "월매", "성춘향");
		
		System.out.println(s2.containsAll(comp));
		
		// Set과 Set을 비교
		System.out.println(s2.equals(comp));
		
		// cf. ArrayList의 경우
		List<String> list1 = new ArrayList<String>();
		List<String> list2 = new ArrayList<String>();
		Collections.addAll(list1, "이몽룡", "성춘향", "홍길동");
		Collections.addAll(list2, "성춘향", "이몽룡", "홍길동");
		
		System.out.println(list1.equals(list2));
		
		// Set에서 특정 요소의 삭제
		System.out.println(s2.remove("홍길동") ? "삭제 성공" : "삭제 실패");
		System.out.println(s2);
	}
}

+ Recent posts