컬렉션 프레임워크(1)_HashSet(1)
2021. 8. 27. 13:10ㆍjava
1. HashSet 생성
Set<E> set = new HashSet<E>( );
Set<E> set = new HashSet<>( );로도 사용할 수 있음.
파라미터E에는 컬렉션에 저장할 객체타입을 지정.
2. 특징
Set 컬렉션은 객체를 순서없이 저장, 동일한 객체는 중복 저장하지 않음(수학의 집합 개념과 유사)
3. 작동원리
- 객체의 hashCode() 메소드 리턴값과 이미 저장되어 있는 객체들의 해시코드값이 다른 경우 -> 저장.
- 만약 동일한 해시코드가 있다면, 다시 equals() 메소드 리턴값으로 두 객체를 비교
false가 나오면 ->다른 객체이므로 저장.
true가 나오면 ->동일한 객체로 판단하여 중복 저장하지 않음.
4. Set 인터페이스의 메소드
기능 | 메소드 | 설명 |
객체 추가 | boolean add(E e) | 주어진 객체를 저장 |
객체 검색 | boolean contains(Object o) | 주어진 객체가 저장되어있는지 조사 |
boolean isEmpty() | 컬렉션이 비어있는지 조사 | |
Iterator<E> iterator() | 반복자 | |
int size() | 저장되어있는 전체 객체 수 리턴 | |
객체 삭제 | void clear() | 저장된 모든 객체를 삭제 |
boolean remove(Object o) | 주어진 객체를 삭제 |
<참고>
전체 객체를 대상으로 한 번씩 반복해서 가져오는 Iterator
Iterator 인터페이스에 선언된 메소드
- boolean hasNext() : 가져올 객체가 있으면 true를 리턴, 없으면 false를 리턴
- E next() : 컬렉션에 하나의 객체를 가져옴
- void remove() : Set 컬렉션에서 객체를 제거
향상된 for문
반복을 실행하기 위해 괄호 ( )에는 배열에서 꺼낸 항목을 저장할 변수 선언과 콜론(:), 컬렉션 항목을 작성
'java' 카테고리의 다른 글
java.lang 패키지(5)_String 클래스 (0) | 2021.08.28 |
---|---|
java.lang 패키지(4)_객체 문자 정보 toString() (0) | 2021.08.28 |
컬렉션 프레임워크(2)_HashMap (0) | 2021.08.27 |
java.lang 패키지(3)_객체비교(equals()) (0) | 2021.08.27 |
java.lang 패키지(2)_Class 클래스 (0) | 2021.08.27 |