간단하게 집합의 개념의 구현체이다.
Set은 수학에서 배운 집합이라 생각하시면 이해가 편하다. 단순하게 메모리 공간에서 특정 데이터들을 모아두는 장소로서의 개념이다.
순서는 상관없지만 데이터의 중복을 허용하고 싶지 않을 때 사용하면 강력한 자료구조이다.
Set<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(3);
System.out.println("추가 1 :" + set.add(1)); //false
System.out.println("추가 2 :" + set.add(2)); //false
System.out.println("추가 3 :" + set.add(3)); //false
System.out.println("추가 4 :" + set.add(4)); //true
System.out.println("추가 5 :" + set.add(5)); //true
입력되는 값이 HashSet 내부에 존재하지 않는다면 그 값을 HashSet에 추가하고 true를 반환하고 내부에 값이 존재한다면 false를 반환한다.
set.remove(3); //값 3 제거
set.clear(); //모든 값 제거
set.size();
//반복자 - Iterator
Iterator iter = set.iterator();
while(iter.hasNext()) {//값이 있으면 true 없으면 false
System.out.println("value : " + iter.next());
}
Set에는 인덱스로 객체를 가져오는 get(index) 메소드가 없습니다. 대신 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자(Iterator)를 제공한다. 반복자는 이터레이터 인터페이스를 구현한 객체를 말하는데 iterator() 메소드를 호출하면 얻을 수 있다. Iterator에서 하나의 객체를 가져올 때는 next() 메소드를 사용한다.
next() 메소드를 사용하기 전에 먼저 가져올 객체가 있는지 확인하는 것이 좋습니다. hasNext() 메소드는 가져올 객체가 있으면 true를 리턴하고 없으면 false를 리턴합니다.
set.contains(1);
존재한다면 true, 존재하지 않는다면 false를 반환한다
[JAVA] Comparable과 Comparator (0) | 2022.07.19 |
---|---|
[JAVA] SortedMap - TreeMap 사용법 (0) | 2022.07.18 |
공공데이터 포털 REST API - 결과값 JSON to Array (0) | 2022.07.14 |
Spring 제공 유틸성 클래스 (StringUtils, BeanUtils) (0) | 2022.07.12 |
[JAVA] - 람다식(Lambda Expressions) (0) | 2022.07.07 |
댓글 영역