본문 바로가기
  • 개발자를 꿈꾸는 중
Java

Collection - Set<E>

by 느보리 2022. 5. 11.
반응형

컬렉션 안의 인터페이스 Set<E>에 대해 알아보자.

  1. index를 포함하고 있지 않다
  2. 중복 불가 (특정 위치 값을 입력할 수 없기 때문, null 값도 한개만[1번 특징])
  3. 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