HashSet
Set (집합)
- 순서 유지안하고 중복허용안함
- Set은 정렬불가 <
- LinkedList 로변환해야 정렬가능
HashSet
- Set인터페이스를 구현한 대표적 컬렉션클래스
- 순서를 유지하려면 LinkedHashSet클래스 사용하면됨
- 저장하기전에 기존에 같은 객체가있는지 확인함 같은객체없으면 저장, 있으면 저장안함
- (정렬필요함)
HashSet 메서드
HashSet()
HashSet(Collection c) : 생성자
HashSet(int initialCapacity) : 초기용량 보통2배
HashSet(int initialCapacity, float loadFactor) 0.8 > 80%
boolean add(Object o) :추가 // equals(),hashcode() 호출,오버라이딩되어있어야함
boolean addAll(Collection c) : 합집합
boolean remove(Object o) :삭제
boolean removeAll(Collection c) : 차집합
boolean retainAll(Collection c) : 조건부삭제 중복 교집합
void clear() 모두삭제
boolean contains(Object o) :포함이면 참 ,아니면거짓 boolean containsAll(Collection c) , 여러객체 모두 포함 ? Iterator iterator() :컬렉션 요소 읽어오는
boolean isEmpty() : 비어있는지
int size() : 저장된 객체수
Object[] toArray() : 객체배열로반환
Object[] toArray(Object[] a) : 객체배열로반환
SortedSet
TreeSet
- 범위 검색과 정렬에 유리한 컬렉션 클래스 (따로 정렬안해줘도됨)
- HashSet보다 데이터추가 , 삭제에 시간이 더걸림
- 이진 탐색 트리 (binary search tree)로구현
- 이진 트리는 모든 노드가 최대2개의 하위노드갖음
- LinkedList 의변형
binary serach tree (이진 탐색 트리)
- 부모보다 작은값은 <왼쪽 큰값은="" 오른쪽="">에저장왼쪽>
- 데이터 많아질수록 추가, 삭제시 (계속 크고작은지 비교 를여러번하니까) 시간이 더걸림
TreeSet 메서드
TreeSet() : // default Comparable
TreeSet(Collection c) 주어진컬렉션 저장하는 TreeSet생성
- TreeSet(Comparator comp) 주어진 정렬기준으로 , 정렬하는 TreeSet 생성 < 비교기준제공 필수
Object first() : 정렬된 순서에서 첫번째 객체 반환 ( 제일작은값 (오름차순일떄))
Object last() : 정렬된 순서에서 마지막객체반환 (제일큰값 (오름차순일떄))
Object celing(Object o) : 지정된 객체와, 같은 객체를 반환 없으면 큰값을 가진 객체중 제일 가까운 값의 객체를반환 .없으면 Null 같거나 큰값
Object floor(Object o) : 위의 반대 , 작은값을가진 , 같거나작은값
Object higher(Object o) : 40 넣으면 > 50 지정된 객체보다 큰값을 가진 객체중 제일가까운값의 객체반환 없으면널
Object lower (Object o) : 40 넣으면 > 30 작은값 ,
SortedSet subSet(Object fromElement, Object toElemnt) : 사이의 결과반환
SortedSet headSet(Object toElement) : 지정된 객체보다 작은값의 객체반환
SortedSet tailSet(Object fromElement) : 지정된객체보다 큰값의 객체반환
Leave a comment