11-34~36 HashSet(1)

oyeon·2020년 12월 27일
0

Java 개념

목록 보기
32/70

HashSet

  • 순서 X, 중복 X
  • Set 인터페이스를 구현한 대표적인 컬렉션 클래스
  • 순서를 유지하려면, LinkedHashSet 클래스를 사용

TreeSet

  • 범위 검색과 정렬에 유리한 컬렉션 클래스
  • HashSet보다 데이터 추가, 삭제에 시간이 더 걸림

예제1

public static void main(String[] args){
	Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"};
	Set set = new HashSet();
	
	for(int i = 0; i < objArr.length; i++) {
		set.add(objArr[i]);
	}
	System.out.println(set);	// [1, 1, 2, 3, 4] 중복 제거. 문자열 != 정수
	
	Iterator it = set.iterator();
	
	while(it.hasNext()) {	// 배열 요소 하나씩 출력. 순서 유지한다는 보장 X
		System.out.println(it.next());		
	}
}

예제2

public static void main(String[] args){
	Set set = new HashSet();
	
	for(int i = 0; set.size() < 6; i++) {
		int num = (int)(Math.random()*45) + 1;
		set.add(num);
	}
	
	System.out.println(set);	// HashSet은 정렬 X
	// set의 모든 요소를 List에 저장 후 정렬
	List list = new LinkedList(set);	// LinkedList(Collection c)
	Collections.sort(list);		// Collections.sort(List list). 정렬
	System.out.println(list);	// list는 정렬 O
}
profile
Enjoy to study

0개의 댓글