728x90
[ TreeSet Class ]
- 중복 없는 데이터 집합을 다룸
- HashSet에 비해 상대적으로 데이터 처리 속도가 느리지만 다른 컬렉션에 비해 빠름
- TreeMap Class와 유사한 작동 원리
컬렉션 프레임워크의 기본개념과, HashSet의 개념은 아래 링크글을 참조하시면 됩니다.
2019/12/10 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_기본 개념 [1/4]
2019/12/11 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_Set 계열 [3/4]
[ 생성자 ]
- new TreeSet<값 제네릭>()
- 인자값으로 다른 컬렉션을 줄 수 있음
[ add() ]
- 값 추가, 중복값은 무시
- 객체의 경우 중복값을 피하기 위해 hashcode()와 equals() 메소드를 필히 오버라이딩 해줘야 함
2019/12/10 - [JAVA/기본 문법] - 객체의 등가성(객체 비교)_equals 메소드 [3/4]
2019/12/10 - [JAVA/기본 문법] - 객체의 등가성(객체 비교)_hashCode 메소드 [4/4]
package study.first;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
String[] value = { "zip", "banana", "apple", "candy", "enum", "dog", "dog", "enum" };
TreeSet<String> list = new TreeSet<String>();
for(int i = 0; i < value.length; i++)
list.add(value[i]);
System.out.println(list); // [apple, banana, candy, dog, enum, zip]
// 다른 컬렉션을 인자값으로 넣어줄 수 있음
TreeSet<String> list2 = new TreeSet<String>(list);
System.out.println(list2); // [apple, banana, candy, dog, enum, zip]
}
}
[ first() / last() ]
- 가장 큰 값, 가장 작은 값 반환
package study.first;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
String[] value = { "zip", "banana", "apple2", "apple1", "dog", "enum" };
TreeSet<String> list = new TreeSet<String>();
for(int i = 0; i < value.length; i++)
list.add(value[i]);
System.out.println(list.first()); // "apple1"
System.out.println(list.last()); // "zip"
}
}
[ lower() / higher() / floor() / ceiling() ]
- lower : 제공된 값보다 작은 값 중 가장 큰 값 (인자값 미포함)
- higher : 제공된 값보다 큰 값 중 가장 작은 값 (인자값 미포함)
- floor : 제공된 값과 같거나 작은 값 중 가장 큰 값 (인자값 포함)
- ceiling : 제공된 값보다 크거나 같은 값 중 가장 작은 값 (인자값 포함)
package study.first;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
String[] value = { "zip", "banana", "apple2", "apple1", "dog", "enum" };
TreeSet<String> list = new TreeSet<String>();
for(int i = 0; i < value.length; i++)
list.add(value[i]);
System.out.println(list.lower("dog")); // "banana"
System.out.println(list.higher("dog")); // "enum"
System.out.println(list.floor("dog")); // "dog"
System.out.println(list.ceiling("dog")); // "dog"
}
}
[ pollFirst / pollLast ]
- 가장 작은 값 / 가장 큰 값을 반환 후 삭제
package study.first;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
String[] value = { "zip", "banana", "apple2", "apple1", "dog", "enum" };
TreeSet<String> list = new TreeSet<String>();
for (int i = 0; i < value.length; i++)
list.add(value[i]);
System.out.println(list.pollFirst()); // "apple1" 반환 후 삭제
System.out.println(list.pollLast()); // "zip" 반환 후 삭제
System.out.println(list); // [apple2, banana, dog, enum]
}
}
728x90
'▸JAVA > 라이브러리(API)' 카테고리의 다른 글
java.io.FileInputStream 주요 메소드 [1/1] (2) | 2019.12.15 |
---|---|
java.util.Collections 주요 메소드 [1/1] (2) | 2019.12.12 |
java.util.HashSet 주요 메소드 [1/1] (2) | 2019.12.11 |
java.util.TreeMap 주요 메소드 [1/1] (2) | 2019.12.11 |
java.util.HashMap 주요 메소드 [1/1] (2) | 2019.12.11 |
댓글