NavigableMap類的使用
引言
關於map可能我們最常使用的就是hashmap,第二就是treemap。我們都知道在需要排序的時候使用treemap,那麼treemap裡有什麼方法可能並不是很瞭解,實際上treemap實現了NavigableMap。下面我們看看各個介面的含義。
方法使用
package api;
import java.util.TreeMap;
/**
* @author weiyuwang
* @since 2018/12/19 10:05
*/
public class TreeMapTest {
public static void main(String[] args){
TreeMap<Character, Integer> treeMap = new TreeMap<>();
for (int i = 0; i < 26; i++) {
treeMap.put((char) ('a' + i), i);
}
System.out.println(treeMap);
// 小於key的最大值 b -> a c -> b
System.out.println(treeMap.lowerEntry('b').getKey());
System.out.println(treeMap.lowerKey('c'));
// 大於key的最小值 b -> c c -> d
System.out.println(treeMap.higherEntry('b').getKey());
System.out.println(treeMap.higherKey('c'));
// 大於或等於key的最小值 b -> b c -> c
System.out.println(treeMap.ceilingEntry('b').getKey());
System.out.println(treeMap.ceilingKey('c'));
// 小於或等於key的最大值 b -> b c -> c
System.out.println(treeMap.floorEntry('b').getKey());
System.out.println(treeMap.floorKey('c'));
// 二叉樹頂部 a
System.out.println(treeMap.firstEntry().getKey());
System.out.println(treeMap.firstKey());
// 二叉樹底部 z
System.out.println(treeMap.lastEntry().getKey());
System.out.println(treeMap.lastKey());
// 移除頭部
// a
System.out.println(treeMap.pollFirstEntry());
// b
System.out.println(treeMap.firstEntry().getKey());
// 移除尾部
System.out.println(treeMap.pollLastEntry());
System.out.println(treeMap.lastEntry().getKey());
// 反轉Map
System.out.println(treeMap.descendingMap());
// [b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y]
System.out.println(treeMap.navigableKeySet());
// 反轉keySet
// [y, x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b]
System.out.println(treeMap.descendingKeySet());
// NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive,K toKey, boolean toInclusive);
// {e=4, f=5, g=6, h=7, i=8, j=9, k=10, l=11, m=12, n=13, o=14}
System.out.println(treeMap.subMap('e',true,'p',false));
// {b=1, c=2, d=3, e=4, f=5, g=6}
System.out.println(treeMap.headMap('g',true));
// {r=17, s=18, t=19, u=20, v=21, w=22, x=23, y=24}
System.out.println(treeMap.tailMap('r'));
}
}
方法羅列
subMap
headMap
tailMap
lowerEntry
lowerKey
floorEntry
floorKey
ceilingEntry
ceilingKey
higherEntry
higherKey
firstEntry
lastEntry
pollFirstEntry
pollLastEntry
descendingMap
navigableKeySet
descendingKeySet
subMap
headMap
tailMap
相關文章
- File類的使用
- Random 類的使用random
- String類的使用
- python類的使用Python
- 包裝類的使用
- String類的使用2
- QT的QImage類的使用QT
- QT的QProgressDialog類的使用QT
- QT的QAxBase類的使用QT
- QT的QWGLNativeContext類的使用QTContext
- URLConnection類,HttpURLConnection類的使用和總結HTTP
- 匿名內部類的使用
- io流-file類的使用
- Java中的Reference類使用Java
- Arthas 使用的各類方式
- TypeScript介面與類的使用TypeScript
- python中calss(類)的使用,類的教程,類中的函式怎麼呼叫。Python函式
- 類的主動使用和被動使用
- Css 偽類/偽類物件使用整理_使用案例CSS物件
- 類的繼承,介面的使用繼承
- JavaScript各類標籤的使用JavaScript
- .NET Standard 類庫的使用技巧
- Java File類的簡單使用Java
- 友元類的使用方法
- php 自帶datetime類的使用PHP
- API的使用(3)Arrays 類,Math類,三大特性--繼承API繼承
- python類裝飾器的使用注意Python
- Python類的基礎--設計、使用Python
- 使用Reactor完成類似的Flink的操作React
- Java使用類-StringJava
- python 類如何使用Python
- Thread類及使用thread
- Socket類的getInputStream方法與getOutputStream方法的使用
- 類類分享-使用者金字塔
- 好用的IdCardNumberMethod工具類(直接複製使用)
- Python中類的建立和使用方法Python
- java中的抽象類abstract怎麼使用?Java抽象
- 淺談 PHP 中異常類的使用PHP