반응형
  • Set의 메서드 설명 + HashSet 사용 예제 + iterator 예제

Set 이란?

  • 순서가 없는 데이터의 집합, 중복을 허용하지 않음

Set의 메서드 정리

add(Object o)

  • 중복 여부 확인 후 중복되었으면 false return
  • 중복 되지 않았으면 Set에 삽입 후 true return

remove(Object o)

  • 자료 삭제 후 성공시 true, 실패시 false return

claer()

  • 전체 삭제

size()

  • Set에 담긴 자료 개수 return

contains(Object o)

  • o가 set에 포함되어 있는지 확인

addAll(Collection c)

  • Collection을 모두 Set에 삽입

containsAll(Collection c)

  • Collection이 모두 포함되어 있으면 true return

removeAll(Collection c)

  • Collection에 있는 자료 중 포함되어 있는 자료를 모두 삭제

retainAll(Collection c)

  • Collection에 있는 자료 중 포함되어 있는 자료만 남기고 나머지 삭제

iterator

  • Set에 순서대로 접근하기 위한 iterator 반환

Set의 종류

  • Set의 종류로는 HashSet, LinkedHashSet, TreeSet 등이 존재

HashSet 예제

package CollectionTest.SetTest;

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

public class Main {

    public static void main(String[] args) {

        Set<Integer> setInt = new HashSet<Integer>();
        setInt.add(1);
        setInt.add(2);
        setInt.add(3);
        setInt.add(5);
        setInt.add(4);
        System.out.println(setInt.size());
        System.out.println(setInt.toString());

        Set<Integer> setInt2 = new HashSet<Integer>();
        setInt2.addAll(setInt);
        System.out.println(setInt2.toString());

        Set<Integer> setdelInt = new HashSet<Integer>();
        setdelInt.add(1);
        setdelInt.add(3);
        setdelInt.add(7);
        setInt.removeAll(setdelInt);
        setInt2.retainAll(setdelInt);

        System.out.println(setInt.toString());
        System.out.println(setInt2.toString());
    }
}

결과

5
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[2, 4, 5]
[1, 3]

iterator 예제

package CollectionTest.SetTest;

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

public class Main {

    public static void main(String[] args) {

        Set<Integer> setInt = new HashSet<Integer>();
        setInt.add(1);
        setInt.add(2);
        setInt.add(3);
        setInt.add(5);
        setInt.add(4);
        System.out.println(setInt.toString());

        Iterator<Integer> it = setInt.iterator();
        while(it.hasNext()) {
            int i = it.next();
            System.out.println(i);
        }
    }
}

결과

[1, 2, 3, 4, 5]
1
2
3
4
5
  • iterator은 추후에 다시 정리 필요할듯 함
반응형

↓ 클릭시 이동

복사했습니다!