컬렉션 안의 인터페이스 Set<E>에 대해 알아보자.
- index를 포함하고 있지 않다
- 중복 불가 (특정 위치 값을 입력할 수 없기 때문, null 값도 한개만[1번 특징])
- 1번의 이유로 index를 받는 메서드가 없다.
주요 메서드(구현 클래스들이 모두 가지고 있는 메서드)
추가
add(E element)
addAll(Collection<?Extends E> c)
삭제
remove(Object o)
clear()
정보 추출
isEmpty()
contains(Object o)
size()
iterrator()
Set객체 배열 변환
toArray()
toArray(T[] t)
## iterator()를 이용한 출력 방법:
Iterator<String> iter = hashS1.itereator(); 객체생성
while(iter.hasNext()){ hasNext() 객체 안에 데이터의 존재유무 확인
System.out.println(iter.next() + " "); 출력: Next() 객체 안에 첫번째 부터 가리킴
}
Set<E>구현한 구현 클래스들
HashSet<E>
1. 수집한 데이터들을 집합 형태로 관리
2. 저장용량을 동적관리(기본값 16)
3. 출력의 순서는 입력 순서와 연관관계가 없다.
4. hashCode(), equals()로 중복 체크(재정의 가능)
4번을 통해 데이터 값을 비교하도록 equas()를 오버라이딩 할 수 있다.
LinkedHashSet<E>
- HashSet<E>과 다른 점은 입력순서와 출력순서 동일하다는 것 뿐이다.
TreeSet<E>
- 정렬/검색 기능 포함
- 출력순서는 오름차순이다.
'Java' 카테고리의 다른 글
GC란? (Garbage Collection) (0) | 2022.09.19 |
---|---|
객체지향프로그래밍(OOP) (0) | 2022.08.31 |
HashMap<K, V> (0) | 2022.05.11 |
Thread - 동기화 (0) | 2022.05.09 |
Thread - 속성 (0) | 2022.05.09 |