1.HashSet


HashSet은 하나씩 저장되고 중복을 혀용하지 않는 컬렉션이다.


HashSet부터는 자료를 입력할 때에는 상관없으나 꺼내올 때에는 따로 Iterator라는 인터페이스를 사용해야 한다.


다음 예제를 작성하여 눈에 익혀보자


예제의 클래스 파일을 HashSet이라 명명하고 사용 할 경우 사용할 HashSet과 이름이 겹치게 된다.


그러므로 구분을 위해서 java.util.HashSet처럼 표시되지만 이러한 클래스 파일 명명은 쓰지 않는것이 좋다.



package chap09.exam03.hashset;

import java.util.Iterator;
import java.util.Set;

public class HashSet {

	public static void main(String[] args) {
		
		// 사용하는 클래스와 현재의 클래스 명이 같으면 객체화 시
		// 경로까지 표시된다.
		Set<String> set = new java.util.HashSet<String>();
		Set<Member> member = new java.util.HashSet<Member>();
		
		set.add("JAVA");
		set.add("ORACLE");
		set.add("MVC");
		set.add("JSP");
		set.add("JAVA"); // 중복이라서 입력되지 않음
		System.out.println(set.size());
		member.add(new Member());
		member.add(new Member()); // 중복이지만 객체는 복사본으로 중복으로 보지 않음
		System.out.println(member.size());
		
		
		
		// 하나씩 뽑아 오기 1번
		// set -> iterator : 조각내기 -> next() : 뽑아오기
		Iterator<String> iter = set.iterator();
		while(iter.hasNext()) {
			String item = iter.next();
			System.out.println(item);
		}
		
		// 삭제
		set.remove("ORACLE");
		
		// 하나씩 뽑아 오기 2번
		for(String item : set) {
			System.out.println("향상된 for : " + item);
		}

		// 비우기
		set.clear();
		// 비어있는지 확인
		System.out.println("비어있을까? : " + set.isEmpty());
	}

}

class Member{
	
}



'개념 및 코딩 > 07.Collection Framework' 카테고리의 다른 글

[JAVA]07-05.Stack, Queue  (0) 2018.09.04
[JAVA]07-04.HashMap, HashTable  (0) 2018.09.04
[JAVA]07-02.ArrayList, LinkedList  (0) 2018.09.04
[JAVA]07-01.Collection, Map  (0) 2018.09.04

+ Recent posts