숭어 개발 블로그

[Java] Set 컬렉션 본문

JAVA/컬렉션 자료구조

[Java] Set 컬렉션

숭어싸만코 2023. 5. 31. 10:19

Set 컬렉션

- 저장 순서가 유지되지 않으며 ( 인덱스 X ) 또한 객체를 중복해서 저장할 수 없고,  하나의 null만 저장 ex) 수학의 집합

- Set 컬렉션에는 HashSet, LinkedSet, TreeSet이 있다.

- Set 인터페이싀 메소드는 다음과 같으며 인덱스로 관리하지 않기 때문에 인덱스를 매개값으로 갖는 메소드가 없다.

1. HashSet

Set<E> set = new HashSet<E>();
Set<E> set = new HashSet<>();
Set set = new HashSet();

- Set 컬렉션은 인덱스로 객체를 검색해서 가져오는 메소드가 없기 때문에 객체를 한 개씩 반복해서 가져와야한다.

- for문을 이용하거나 Set 컬렉션의 iterator()메소드로 반복자를 얻어 객체를 하나씩 가져온다.

리턴 타입 메소드명 설명
booelan hasNext() 가져올 객체가 있으면  true를 리턴하고 없으면 false를 리턴
E next() 컬렉션 하나의 객체를 가져온다.
void remove() next()로 가져온 객체를 Set 컬렉션에서 제거한다.

[ 사용방법 ]

Set<E> set = new HashSet<>();
Iterator<E> iterator = set.iterator();

while(iterator.hasNext()){
	E e = iterator.next();
}

 

[ HashSet 예제 ]

package study0530.Collection;

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

public class HashSetExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Set<String> set = new HashSet<String>();
		
		set.add("Java");
		set.add("JDBC");
		set.add("JSP");
		set.add("Java"); //중복 객체이므로 저장하지 않음
		set.add("Spring");
		
		//저장된 객체 수 출력
		int size = set.size();
		System.out.println("총 객체수 :"+size);
		
		//객체를 하나씩 가져와서 처리
		Iterator<String> iterator = set.iterator();
		
		while(iterator.hasNext()) {
			
			//객체를 하나 가져오기
			String element = iterator.next();
			System.out.println(element);
			
			if (element.equals("JSP")) {
				//가져온 객체를 컬렉션에서 제거
				iterator.remove();
				System.out.println("----JSP 제거----");
			}
		}
		System.out.println();
		//객체제거
		set.remove("JDBC");
		System.out.println("----JDBC 제거----");
		//객체를 하나씩 가져와서 처리
		for(String element : set) {
			System.out.println(element);
		}
		
	}//

}//

 

'JAVA > 컬렉션 자료구조' 카테고리의 다른 글

[Java] Map 컬렉션  (0) 2023.05.31
[Java] List 컬렉션  (0) 2023.05.31
[Java] 컬렉션 프레임워크  (0) 2023.05.31
Comments