JAVA

자바 객체지향 프로그래밍 - 17 [컬렉션 프레임워크(Set)]

덴마크 당나귀 2023. 1. 24. 17:00
728x90
Set 인터페이스

Set 인터페이스 :

1. Collection 하위의 인터페이스,

2. 중복 허용 X,

3. List는 순서기반의 인터페이스지만, Set은 순서가 없음

4. get(i) 매서드 제공되지 않음(Iterator로 순회)

5. 저장된 순서와 출력순서는 다를 수 있음.

6. 아이디, 주민번호, 사번 등 유일한 값이나 객체 관리시 사용

7. HashSet, TreeSet 클래스

     7-1. HashSet

         1. 중복을 허용하지 않아서 저장되는 객체의 동일함 여부를 알기 위해서, equals()와 hashCode() 매서드를 재정의 해야됨

     7-2. TreeSet

         1. 객체의 정렬에 사용되는 클래스

         2. 중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬 함(알아서 정렬 됨.)

         3. 내부적으로 이진 검색 트리(binary search tree) 로 구현되어 있다.

         4. 이진 검색 트리에 자료가 저장 될 때 비교하여 저장될 위치를 정함

         5. 객체 비교를 위해 Comparable이나 Comparator 인터페이스를 구현 해야 됨.

Iterator로 순회하기

: Collection의 개체를 순회하는 인터페이스

 

-> iterator() 매서드 호출  

Iterator ir = memberArrayList.iterator();

Iterator에 선언된 매서드

1. boolean hashNext() : 이후에 요소가 더 있는지를 체크하는 매서드. 요소가 있을 시 true 반환

2. E next() : 다음에 있는 요소 반환

 

728x90