본문 바로가기

Programming/Java

Java Collection Framework - Set (자바 콜렉션프레임워크 - 집합)

반응형

16.2 집합(Set)

집합은 요소의 순서를 상관하지 않고 저장한느 컬렉션을 말하며 이를 위해 Set 인터페이스를 구현하고 있다.


집합(Set)의 특징

1. 요소는 중복될 수 없다.

2. 순서가 있을 수도 있다.

3. 정렬될 수도 있다.


집합Set 구현 클래스

Set인터페이스를 구현하는 클래스에는 HashSet, LinkedHashSet, TreeSet가 있다. 


HashSet 

LinkedHashSet 

TreeSet 

빠른 접근속도

중복 허용하지 않음

순서 제공하지 않음 

중복 허용하지 않음

삽입 순서에 의해 반복 

중복 허용하지 않음

정렬된 순서에 의해 반복 



여기서 말하는 중복 허용하지 않음은 이미 존재하는 요소를 다시 추가하더라도 이 요소가 두개 존재하지 않는다는 것을 의미함


집합 인터페이스 메소드

boolean

add(Object o)

지정된 요소가 집합에 포함되어 있지 않다면 추가한다.


void

clear()

집합의 모든 요소들을 제거한다.


boolean

contains(Object o)

집합이 지정된 요소를 포함하고 있다면 true를 반환한다.


boolean 

equals(Object o)

지정된 객체가 리스트와 동일한지 비교한다.


boolean 

isEmpty()

집합이 요소를 하나도 포함하고 있지 않다면 true를 반환한다.


boolean

remove(Object o)

집합에서 지정된 요소를 제거한다.


int 

size()

집합의 크기를 반환한다.


Object[] 

toArray()

집합에 포함된 모든 요소를 배열로 반환합니다.


HashSet 예제

import java.util.Set;

import java.util.HashSet;

import java.util.Iterator;


public class test{

public static void main(String args[]){

set<String> set = new HashSet<String>();


set.add("1");

set.add("2");

set.add("3");

set.add("4");


for(Iterator i = set.iterator(); i.hasNext();){

System.out.println(i.next());

}

}

}




TreeSet 클래스 예제

import java.util.Set;

import java.util.TreeSet;

import java.util.Iterator;


public class Test{

public static void main(String main[]){

set<String> set = new TreeSet<String>();


set.add("4");

set.add("3");

set.add("2");

set.add("1");


for(Iterator i = set.iterator(); i.hasNext();){

System.out.println(i.next());

}

}

}



반응형