IT/Programming / / 2023. 4. 20. 13:29

[JAVA] Set Interface 사용 예제

반응형
package dayday15;
/*
 * <Set Interface>
 * 1. 특징 : 순서가 없다, 중복 허용, 
 * 2. 구현클래스 종류
 * 	1) TreeSet : 빠른 검색, 자동 정렬
 * 	2) HashSet : 검색이 더 빠름 , 자동정렬이 없다.
 *  원소를기준에 따라 모아둠.. 기준을 검색 후 원소를 찾기 때문에 더 빠름
 * 
 */
import java.util.Set; //인터페이스
import java.util.TreeSet; //클래스
import java.util.HashSet;
import java.util.Iterator;; //클래스

public class test03 {
	public static void main(String[] args) {
		Set s1 = new TreeSet();
		Set s2 = new HashSet();
		//1. 원소 추가
		//set도 마찬가지로 원소 추가할 때 add사용한다. 다만 set은 index가 없다.
		s1.add(1);
		s1.add(1000);
		s1.add(2);
		s1.add(7347);
		//s1.add("abc");
		System.out.println(s1); //Error!! 자동정렬하다보니까 int와 String이 겹침.
								//주의점 : 같은 자료형만 사용해야함!!
								//output : [1, 2, 1000, 7347] 오름차순
		

		s2.add(1);
		s2.add(1000);
		s2.add("abcccc");
		s2.add(300);
		s2.add("abc");
		System.out.println(s2); //NoError
								//output : [1, abc, 1000, abcccc, 300]
								//랜덤하게 저장된다? 그게 더 일일텐데..?
		
		
		//2. 원소삭제
		s1.remove(2);
		System.out.println(s1); //[1, 1000, 7347]

		//3. 확장for문 가능
		for(Object o : s1){
			System.out.println(s1);
		}
		
		
		
		//4. Iterator(반복수행자) //다른 컬렉션에서도 다 쓰임.
		Iterator it = s1.iterator();
		System.out.println(it.next()); //1
		System.out.println(it.next()); //1000
		System.out.println(it.next()); //7347
		//System.out.println(it.next()); //NoSuchElementException
		//원소 갯수 모른다?
		it = s1.iterator(); //처음으로 다시 돌림
		while(it.hasNext()){//다음것이 있는지 확인!
			System.out.println(it.next());
			
		}
	}
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유