TreeMap
이진검색트리이 형태로 키와 값을 쌍으로 이루어진 데이터를 저장하여 검색과 정렬에 적합한 컬렉션 클래스
Map의 특징, 키와 값을 묶어서 하나의 데이터를 저장한다는 특징을 갖는다.
https://standout.tistory.com/1368
HashMap이 TreeMap보다 검색에 관한한 대부분의 경우에서뛰어나기에 HashMap을 사용하는것이 좋으나
범위검색이나 정렬이 필요한 경우에는 TreeMap을 사용하자.
https://standout.tistory.com/1377
TreeMap()
기본 생성자로, TreeMap을 생성합니다.
TreeMap<String, Integer> treeMap = new TreeMap<>();
TreeMap(Comparator c)
주어진 Comparator를 사용하여 TreeMap을 생성합니다.
Comparator<String> customComparator = Collections.reverseOrder();
TreeMap<String, Integer> treeMap = new TreeMap<>(customComparator);
TreeMap(Map m)
주어진 Map의 모든 매핑을 포함하는 TreeMap을 생성합니다.
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("a", 1);
hashMap.put("b", 2);
TreeMap<String, Integer> treeMap = new TreeMap<>(hashMap);
TreeMap(SortedMap m)
주어진 SortedMap의 모든 매핑을 포함하는 TreeMap을 생성합니다.
TreeMap<String, Integer> sortedMap = new TreeMap<>();
sortedMap.put("a", 1);
sortedMap.put("b", 2);
TreeMap<String, Integer> treeMap = new TreeMap<>(sortedMap);
Map.Entry ceilingEntry(Object key)
주어진 키와 같거나 큰 가장 작은 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.ceilingEntry("b");
Object ceilingKey(Object key)
주어진 키와 같거나 큰 가장 작은 키를 반환합니다.
String key = (String) treeMap.ceilingKey("b");
void clear()
TreeMap의 모든 매핑을 제거합니다.
treeMap.clear();
Object clone()
TreeMap의 얕은 복사본을 생성하여 반환합니다.
TreeMap<String, Integer> copyMap = (TreeMap<String, Integer>) treeMap.clone();
Comparator comparator()
TreeMap에서 사용되는 Comparator를 반환합니다.
Comparator<String> comparator = treeMap.comparator();
boolean containsKey(Object key)
TreeMap에 지정된 키가 있는지 여부를 반환합니다.
System.out.println(treeMap.containsKey("a")); // true
boolean containsValue(Object value)
TreeMap에 지정된 값이 있는지 여부를 반환합니다.
System.out.println(treeMap.containsValue(1)); // true
NavigableSet descendingKeySet()
TreeMap의 키들을 역순으로 정렬한 NavigableSet을 반환합니다.
NavigableSet<String> descendingKeySet = treeMap.descendingKeySet();
Set entrySet()
TreeMap의 모든 매핑을 포함하는 Set을 반환합니다.
Set<Map.Entry<String, Integer>> entrySet = treeMap.entrySet();
Map.Entry firstEntry()
TreeMap에서 가장 낮은 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.firstEntry();
Object firstKey()
TreeMap에서 가장 낮은 키를 반환합니다.
String firstKey = treeMap.firstKey();
Map.Entry floorEntry(Object key)
주어진 키와 같거나 작은 가장 큰 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.floorEntry("b");
Object floorKey(Object key)
주어진 키와 같거나 작은 가장 큰 키를 반환합니다.
String key = (String) treeMap.floorKey("b");
Object get(Object key)
지정된 키에 매핑된 값을 반환합니다.
Integer value = treeMap.get("a");
SortedMap headMap(Object toKey)
지정된 키보다 낮은 모든 키를 포함하는 SortedMap을 반환합니다.
SortedMap<String, Integer> headMap = treeMap.headMap("b");
NavigableMap headMap(Object toKey, boolean inclusive)
지정된 키보다 낮거나 같은 모든 키를 포함하는 NavigableMap을 반환합니다.
NavigableMap<String, Integer> headMap = treeMap.headMap("b", true);
Map.Entry higherKey(Object key)
주어진 키보다 큰 가장 작은 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.higherEntry("a");
Object higherKey(Object key)
주어진 키보다 큰 가장 작은 키를 반환합니다.
String key = (String) treeMap.higherKey("a");
boolean isEmpty()
TreeMap이 비어 있는지 여부를 반환합니다.
System.out.println(treeMap.isEmpty()); // false
Set keySet()
TreeMap의 모든 키를 포함하는 Set을 반환합니다.
Set<String> keySet = treeMap.keySet();
Map.Entrh lastEntry()
TreeMap에서 가장 높은 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.lastEntry();
Object lastKey()
TreeMap에서 가장 높은 키를 반환합니다.
String lastKey = treeMap.lastKey();
Map.Entry lowerEntry(Object key)
주어진 키보다 작은 가장 큰 키를 가진 매핑의 Map.Entry를 반환합니다.
Map.Entry<String, Integer> entry = treeMap.lowerEntry("b");
Object lowerKey(Object key)
주어진 키보다 작은 가장 큰 키를 반환합니다.
String key = (String) treeMap.lowerKey("b");
NavigableSet navigableKeySet()
TreeMap의 키들을 포함하는 NavigableSet을 반환합니다.
NavigableSet<String> navigableKeySet = treeMap.navigableKeySet();
Map.Entry pollFirstEntry()
TreeMap에서 가장 낮은 키를 가진 매핑을 제거하고 반환합니다.
Map.Entry<String, Integer> entry = treeMap.pollFirstEntry();
Map.Entry pollLastEntry()
TreeMap에서 가장 높은 키를 가진 매핑을 제거하고 반환합니다.
Map.Entry<String, Integer> entry = treeMap.pollLastEntry();
Object put(Object key, Object value)
지정된 키에 지정된 값으로 매핑되어 있던 이전 값(있으면)을 반환합니다.
Integer previousValue = treeMap.put("c", 3);
void putAll(Map map)
주어진 Map의 모든 매핑을 TreeMap에 추가합니다.
HashMap<String, Integer> anotherMap = new HashMap<>();
anotherMap.put("d", 4);
anotherMap.put("e", 5);
treeMap.putAll(anotherMap);
Object remove(Object key)
지정된 키에 매핑된 값을 제거합니다.
Integer removedValue = treeMap.remove("a");
Object remove(Object k, Object v)
지정된 키와 값이 모두 일치하는 경우에만 매핑을 제거합니다.
boolean removed = treeMap.remove("c", 3);
boolean replace(Object key, Object oldValue, Object newValue)
지정된 키와 이전 값이 모두 일치하는 경우에만 값을 새 값으로 교체합니다.
boolean replaced = treeMap.replace("c", 3, 30);
int size()
TreeMap에 포함된 매핑의 수를 반환합니다.
System.out.println(treeMap.size());
NavigableMap subMap(Object fromKey, boolean fromInclusive, Object toKey, boolean toInclusive)
주어진 범위에 속하는 매핑을 포함하는 NavigableMap을 반환합니다.
NavigableMap<String, Integer> subMap = treeMap.subMap("b", true, "d", false);
SortedMap subMap(Object fromKey, Object toKey)
주어진 범위에 속하는 매핑을 포함하는 SortedMap을 반환합니다.
SortedMap<String, Integer> subMap = treeMap.subMap("b", "d");
SortedMap tailMap(Object fromKey)
주어진 키보다 크거나 같은 모든 매핑을 포함하는 SortedMap을 반환합니다.
SortedMap<String, Integer> tailMap = treeMap.tailMap("b");
NavigableMap tailMap(Object fromKey, boolean inclusice)
주어진 키보다 크거나 같은 모든 매핑을 포함하는 NavigableMap을 반환합니다.
NavigableMap<String, Integer> tailMap = treeMap.tailMap("b", true);
Collection values()
TreeMap의 모든 값을 포함하는 Collection을 반환합니다.
Collection<Integer> values = treeMap.values();
'JAVA' 카테고리의 다른 글
제네릭클래스의 타입변수: <T> <E> <K,V> (0) | 2024.02.14 |
---|---|
컬렉션과 관련된 메서드를 제공하는 Collections: 컬렉션의 동기화, 변경불가 컬렉션, 싱글톤 컬렉션, 한 종류의 객체만 저장하는 컬렉션 (0) | 2024.02.06 |
HashTable 보다 새버전인 HashMap (0) | 2024.02.06 |
검색트리의 자료구조 형태로 데이터를 저장하는 컬렉션 클래스, TreeSet (0) | 2024.02.06 |
Set인터페이스를 구현한 대표적인 컬렉션, HashSet (0) | 2024.02.06 |