Language/Java
[Java] 자료구조, 컬렉션 프레임 워크 (3)
ozofweird
2020. 7. 1. 03:46
1. Set 인터페이스
내부적으로 순서대로 저장되지 않기 때문에 특정 index의 값이 불분명하다. get(i) 메서드를 제공하지 않으며 Itrator로 순회한다. 중복을 허용하지 않고 저장된 순서와 출력순서는 다를 수 있다. 아이디, 주민번호, 사번 등 유일한 값이나 객체를 관리할 때 사용한다.
1) HashSet (1)
2) HashSet (2)
3) HashSet (3)
중복을 허용하지 않으므로 저장되는 객체의 동일함 여부를 알기 위해 equals()와 hashCode() 메서드 재정의한다.
4) TreeSet (1)
: 객체의 정렬에 사용되는 클래스
: 중복을 허용하지 않으면서 오름차순이나 내림차순으로 객체를 정렬
: 내부적으로 이진 검색 트리(BST)로 구현되어 있음 (비교조건 필요)
: BST에 자료가 저장 될 때 비교하여 저장될 위치를 정함
: 객체 비교를 위해 Comparable이나 Comparator 인터페이스를 구현
5) TreeSet (2)
addMember 메서드에서 비교를 하기 위해서 Comparable 인터페이스를 상속받아 compareTo 메서드 구현한다.
6) TreeSet (3)
Comparator를 상속받을 시 compare 메서드의 매개변수들의 비교가 필요하다. TreeSet이 구현된 클래스의 기본 생성자에는 정렬 기준 필요하다.
7) TreeSet (4)
Comparable의 compareTo 메서드로 정의가 되어있을 경우 Comparator를 상속받아 원하는 정렬 방식 생성이 가능하다.
728x90