Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- kotlin
- 스프링
- 생성
- Spring
- GitHub
- jquery
- db
- 자바
- Git
- 방법
- mybatis
- 프로그래머스
- 넥사크로
- JavaScript
- 코틀린
- error
- JPA
- Security
- IntelliJ
- Eclipse
- Java
- oracle
- Vue
- 쿼리
- 오라클
- aws
- 시큐리티
- 알고리즘
- 함수
- 에러
Archives
- Today
- Total
송민준의 개발노트
HashSet 본문
HashSet이란?
순서가 필요없는 데이터를 hash table에 저장한다. set 인터페이스로 구현한 클래스 중 가장 성능이 좋다.
이 외에 성능 순으로 TreeSet(저장된 데이터의 값에 따라 정렬), LinkedHashSet(연결된 목록타입으로 구현, 정렬)이 있다. 중복을 허용하지 않는다.
1. HashSet의 상속구조
java.lang.Object -> java.util.AbstractCollection<E> -> java.util.AbstracSet<E> -> java.util.HashSet<E>
2. 구현된 인터페이스
Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>
3. 생성자
- HashSet()
- HashSet(int 수용량초기화)
- HashSet(int 수용량초기화, float 하중량)
* 하중량(load factor)은 전체 슬롯에서 사용중인 슬롯 비율 -> % 증가할수록 탐사 횟수는 비약적으로 증가함)
- HashSet(Collection<? extends E> c)
메소드 명 | 설명 |
boolean add(E e) | 제네릭 타입으로 넘어온 객체가 Set구조에 없다면 추가하고 true 반환한다. |
boolean addAll(Collection c) | 주어진 컬렉션에 저장된 모든 객체들을 추가한다. |
void clear() | Set에 있는 모든 객체를 삭제한다. |
clone | HashSet을 복제해서 반환한다.(shallow copy) |
boolean contains(Object o) | 인자로 전달된 객체를 현 Collecton에서 요소로 가지고 있으면 true 반환한다. |
boolean containsAll(Collection c) | 인자로 전달된 컬렉션에 모든 객체들을 포함하고 있는지 알려준다. |
boolean isEmpty() | HashSet이 비어있으면 true 반환한다. |
Iterator<E> iterator() | Iterator객체로 반환한다. |
boolean remove(Object o) | Object로 받은 객체를 찾아 삭제한다. 성공 시 true 반환한다. |
boolean removeAll(Collection c) | 인자값으로 주어진 컬렉션에 저장된 모든 객체와 동일한 것들을 모두 삭제한다. |
int size() | HashSet에 저장된 요소의 수를 반환한다. |
Object[] toArray() | 배열의 형태로 반환한다. |
Object[] toArray(Object[] a) | 인자값으로 주어진 배열에 저장한다. |
'자료구조' 카테고리의 다른 글
Priority Queue(우선순위 큐) 정리 (0) | 2020.12.13 |
---|---|
List(ArrayList, LinkedList) (0) | 2020.02.12 |