본문 바로가기
  • Coding & Book
학습단/JAVA 학습단

18. 혼공자 18일차(컬렉션 프레임 워크_2)

by 루이3 2023. 8. 8.

Set 컬렉션

  • List 컬렉션은 객체의 저장 순서를 유지하지만, Set 컬렉션은 저장순서가 유지되지 않습니다.
  • Set 컬렉션은 수학의 집합과 비슷합니다.
  • 순서와 상관이 없고 중복이 허용되지 않습니다.
  • Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있습니다.

 

Set 컬렉션에서 공통적으로 사용가능한  Set 인터페이스 메소드

  • Set 컬렉션은 인덱스로 객체를 검색해서 가져오는 메소드가 없습니다.
  • 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자를 제공합니다.
  • 반복자는 Iterator 인터페이스를 구현한 객체를 말합니다.
    (하나의 객체를 가져올 때는 next() 메소드를 사용합니다.)
Set<String> set = ...;
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
	//String 객체 하나를 가져온다.
	String str = iterator.next();
 }

 

기능 콘텐츠 설명
객체 추가 boolean add(E e) 주어진 객체 저장
성공적이면 true,중복일경우 flase를 리턴
객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 있는지 조사
boolean isEmpty() 컬렉션이 비어있는지 조사
Iterator<E> iterator() 저장된 객체를 한 번씩 가져오는 반복자를 리턴
int size() 저장되어 있는 전체 객체수를 리턴
객체 삭제 void clear() 저장된 모든 객체 삭제
boolean remove(Object o) 주어진 객체 삭제

 

 

HashSet

  • HashSet은 Set 인터페이스의 구현 클래스입니다.
  • HashSet을 생성하기 위해서 아래와 같이 기본 생성자를 호출합니다.
  • HashSet은 객체들을 순서 없이 저장하고 동일한 객체는 중복 저장하지 않습니다.
Set<E> set = new HashSet<E>();

예시)

package sec16.exam01;
import java.util.*;


public class HaschSetExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Set<String> set = new HashSet<String>();
		
		set.add("Java");
		set.add("Python");
		set.add("Spring");
		set.add("SQL");
		set.add("Java");
		
		
		Iterator<String> iterator = set.iterator();
		while(iterator.hasNext()) {
			String element = iterator.next();
			System.out.println(element);
		}
		
	}

}