Set Collection이란? :: 행복한 프로그래머

posted by 쁘로그램어 2018. 5. 23. 03:43

List 컬렉션은 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지 않습니다.

또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있습니다.


Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있습니다.

인덱스로 관리하지 않기 때문에 인덱스를 파라미터로 갖는 메소드가 없습니다.

따라서 iterator를 사용해야 합니다.


# HashSet

* 가장 빠른 임의 접근 속도

* 순서를 전혀 예측할 수 없음


# LinkedHashSet

* 추가된 순서, 또는 가장 최근에 접근한 순서대로 접근 가능


# TreeSet

* 정렬된 순서대로 보관하며 정렬 방법을 지정할 수 있음


# ExHashSet.java

public class ExHashSet {

    public static void main(String[] args) {

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

 

        set.add("Java");

        set.add("JDBC");

        set.add("JTBC");

        set.add("Java");

        set.add("iBATIS");

 

        int size = set.size();

        System.out.println("총 객체 수: " + size);

 

        Iterator<String> iterator = set.iterator();

 

        while (iterator.hasNext()) {

            String elem = iterator.next();

 

            System.out.println("\t" + elem);

        }

 

        set.remove("JDBC");

        set.remove("JTBC");

 

        System.out.println("총 객체 수: " + set.size());

 

        iterator = set.iterator();

 

        while (iterator.hasNext()) {

            String elem = iterator.next();

 

            System.out.println("\t" + elem);

        }

 

        set.clear();

 

        if (set.isEmpty())

            System.out.println("HashSet 비어있음");

    }


# 결과

총 객체 수: 4

Java

JDBC

JTBC

iBATIS

총 객체 수: 2

Java

iBATIS

HashSet 비어있음 


※ 참고 사이트 ※

http://palpit.tistory.com/655

http://hackersstudy.tistory.com/26

http://emessell.tistory.com/13

'Java > Java' 카테고리의 다른 글

GSON – How to parse input JSON with dynamic keys  (0) 2018.05.28
Map Collection이란?  (0) 2018.05.23
List Collection이란?  (0) 2018.05.23
컬렉션 프레임워크(Collection Framework)란?  (0) 2018.05.23
향상된 for문 사용하기  (0) 2018.05.20