Notice
Recent Posts
Recent Comments
Link
판봉 개발 일기
Set 컬렉션에 대하여 알아보자 본문
728x90
앞서 살펴본 List 컬렉션은 객체의 저장 순서를 유지한다.
하지만 Set 컬렉션은 저장 순서가 유지되지 않는다.
또한 객체의 중복 저장이 불가능 하며, 하나의 null만 저장할 수 있다.
Set 컬렉션은 수학의 집합 또는 구슬 주머니와도 비슷하다고 이야기를 한다고 한다.
Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있다.
- HashSet
- LinkedHashSet
- TreeSet
다음은 Set 컬렉션에서 공통으로 사용가능한 Set 인터페이스의 메소드를 살펴본 것이다.
기능 | 메소드 | 설명 |
객체 추가 | boolean add(E e) | 주어진 객체를 저장. 객체가 저장되면 true 중복객체면 false를 리턴. |
객체 검색 | boolean contains(Object o) | 객체가 저장되어있는지 여부파악 |
boolean isEmpty() | 컬렉션이 비어있는지 여부 파악 | |
lterator<E>iterator() | 저장된 객체를 한 번씩 가져오는 반복자를 리턴. | |
int size() | 저장된 전체 객체 수를 in형으로 리턴 | |
객체 삭제 | void clear() | 저장된 모든 객체 삭제 |
boolean remove(Object o) | 주어진 객체를 삭제 |
Set 컬렉션의 특징을 살펴보자면
- 인덱스로 관리하지 않아서 인덱스를 매개값으로 갖는 메소드가 존재하지 않음
- 위의 이유로 전체 객체를 대상으로 하여 한 번씩 반복해서 가져오는 반복자(lterator)를 제공함
반복자를 얻는 방법은 밑과 같음
Set<String> set = …;
Iterator<String> iterator = set.iterator();
Iterator 인터페이스에 선언된 메소드를 살펴보겠습니다.
리턴 타입 | 메소드 | 설명 | |||||
boolean | hasNext() | 가져올 객체가 있으면 true 없으면 false를 리턴함 |
|||||
E | next() | 컬렉션에서 하나의 객체를 가져옴 | |||||
void | remove() | Set 컬렉션에서 객체를 제거함 |
☞ hasNext()메소드와 next()메소드는 위의 기능으로 인해 같이 쓰이는 경우가 많다.
'자바 복습' 카테고리의 다른 글
Map 컬렉션 (0) | 2021.07.13 |
---|---|
Set 컬렉션중 하나인 HashSet에 대하여 알아보자 (0) | 2021.07.13 |
List 컬렉션중 하나인 LinkedList에 대하여 알아보자 (0) | 2021.07.13 |
List 컬렉션중 하나인 Vector에 대하여 (0) | 2021.07.13 |
ArrayList (2) | 2021.07.12 |