자바 자료구조 Set

오세훈·2023년 7월 24일
0

java

목록 보기
2/16

Set

Set은 순서를 보장하지 않고 중복을 허용하지 않는다.

인덱스가 존재하지 않아 순서를 보장하지 않음
중복을 허용하지 않기에 로또 추첨기 같은 것에 사용됨

package sec2;

import java.util.*;

public class SetEx1 {
    public static void main(String[] args) {
        Set set1 = new HashSet(); // 가장 대표적인 Set
        set1 = new TreeSet();

        Set<String> set2 = new HashSet<>();
        set2.add("이은영");
        set2.add("최상민");
        set2.add("김이호");
        set2.add("이슬비");
        set2.add("김이호");
        set2.add("이은영");
        System.out.println("Set: "+set2);

        List<String> lst = new ArrayList<>();
        lst.add("이은영");
        lst.add("최상민");
        lst.add("김이호");
        lst.add("이슬비");
        lst.add("김이호");
        lst.add("이은영");
        System.out.println("List: "+lst);
    }
}

Iterator, 이터레이터

Set은 인덱스가 없어서 for문을 이용해 데이터에 하나씩 접근하는 방법은 불가능해서 Iterator를 생성하여 while문을 통해 하나씩 접근해야 한다.

// Set을 이용해 데이터를 하나씩 접근하는 경우
Iterator it = set2.iterator(); // 이터레이터 생성
while (it.hasNext()) { // 다음데이터가 있을 때 까지 반복
      System.out.println(it.next()); // 데이터 출력
}

profile
자바 풀 스택 주니어 개발자

0개의 댓글