免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
TreeMap用法總結(jié)
public class TreeMap<K,V>extends AbstractMap<K,V>implements NavigableMap<K,V>, Cloneable, Serializable

TreeMap中的元素默認(rèn)按照keys的自然排序排列。

(對(duì)Integer來說,其自然排序就是數(shù)字的升序;對(duì)String來說,其自然排序就是按照字母表排序)

構(gòu)造函數(shù)

  • TreeMap():創(chuàng)建一個(gè)空TreeMap,keys按照自然排序

    TreeMap<Integer, String> treeMap = new TreeMap<>();
  • TreeMap(Comparator comparator):創(chuàng)建一個(gè)空TreeMap,按照指定的comparator排序

    TreeMap<Integer, String> map = new TreeMap<>(Comparator.reverseOrder());map.put(3, 'val');map.put(2, 'val');map.put(1, 'val');map.put(5, 'val');map.put(4, 'val');System.out.println(map); // {5=val, 4=val, 3=val, 2=val, 1=val}
  • TreeMap(Map m):由給定的map創(chuàng)建一個(gè)TreeMap,keys按照自然排序

    Map<Integer, String> map = new HashMap<>();map.put(1, 'val');...TreeMap<Integer, String> treeMap = new TreeMap<>(map);
  • TreeMap(SortedMap m):由給定的有序map創(chuàng)建TreeMap,keys按照原順序排序

常用方法

增添元素

  • V put(K key, V value):將指定映射放入該TreeMap中

  • V putAll(Map map):將指定map放入該TreeMap中

刪除元素

  • void clear():清空TreeMap中的所有元素

  • V remove(Object key):從TreeMap中移除指定key對(duì)應(yīng)的映射

修改元素

  • V replace(K key, V value):替換指定key對(duì)應(yīng)的value值

  • boolean replace(K key, V oldValue, V newValue):當(dāng)指定key的對(duì)應(yīng)的value為指定值時(shí),替換該值為新值

查找元素

  • boolean containsKey(Object key):判斷該TreeMap中是否包含指定key的映射

  • boolean containsValue(Object value):判斷該TreeMap中是否包含有關(guān)指定value的映射

  • Map.Entry<K, V> firstEntry():返回該TreeMap的第一個(gè)(最小的)映射

  • K firstKey():返回該TreeMap的第一個(gè)(最小的)映射的key

  • Map.Entry<K, V> lastEntry():返回該TreeMap的最后一個(gè)(最大的)映射

  • K lastKey():返回該TreeMap的最后一個(gè)(最大的)映射的key

  • v get(K key):返回指定key對(duì)應(yīng)的value

  • SortedMap<K, V> headMap(K toKey):返回該TreeMap中嚴(yán)格小于指定key的映射集合

  • SortedMap<K, V> subMap(K fromKey, K toKey):返回該TreeMap中指定范圍的映射集合(大于等于fromKey,小于toKey)

遍歷接口

  • Set<Map<K, V>> entrySet():返回由該TreeMap中的所有映射組成的Set對(duì)象

  • void forEach(BiConsumer<? super K,? super V> action):對(duì)該TreeMap中的每一個(gè)映射執(zhí)行指定操作

  • Collection<V> values():返回由該TreeMap中所有的values構(gòu)成的集合

其他方法

  • Object clone():返回TreeMap實(shí)例的淺拷貝

  • Comparator<? super K> comparator():返回給該TreeMap的keys排序的comparator,若為自然排序則返回null

  • int size():返回該TreepMap中包含的映射的數(shù)量

TreeMap<Integer, String> treeMap = new TreeMap<>();treeMap.put(1, 'a');treeMap.put(2, 'b');treeMap.put(3, 'c');treeMap.put(4, 'd'); // treeMap: {1=a, 2=b, 3=c, 4=d}treeMap.remove(4); // treeMap: {1=a, 2=b, 3=c}int sizeOfTreeMap = treeMap.size(); // sizeOfTreeMap: 3treeMap.replace(2, 'e'); // treeMap: {1=a, 2=e, 3=c}Map.Entry entry = treeMap.firstEntry(); // entry: 1 -> aInteger key = treeMap.firstKey(); // key: 1entry = treeMap.lastEntry(); // entry: 3 -> ckey = treeMap.lastKey(); // key: 3String value = treeMap.get(3); // value: cSortedMap sortedMap = treeMap.headMap(2); // sortedMap: {1=a}sortedMap = treeMap.subMap(1, 3); // sortedMap: {1=a, 2=e}Set setOfEntry = treeMap.entrySet(); // setOfEntry: [1=a, 2=e, 3=c]Collection<String> values = treeMap.values(); // values: [a, e, c]treeMap.forEach((integer, s) -> System.out.println(integer '->' s)); // output:// 1 -> a// 2 -> e// 3 -> c

遍歷方式

  • for循環(huán)

    for (Map.Entry entry : treeMap.entrySet()) {      System.out.println(entry);}
  • 迭代器循環(huán)

    Iterator iterator = treeMap.entrySet().iterator();while (iterator.hasNext()) { System.out.println(iterator.next());}

補(bǔ)充:如何選擇合適的Map

  • HashMap可實(shí)現(xiàn)快速存儲(chǔ)和檢索,但其缺點(diǎn)是其包含的元素是無序的,這導(dǎo)致它在存在大量迭代的情況下表現(xiàn)不佳。

  • LinkedHashMap保留了HashMap的優(yōu)勢(shì),且其包含的元素是有序的。它在有大量迭代的情況下表現(xiàn)更好。

  • TreeMap能便捷的實(shí)現(xiàn)對(duì)其內(nèi)部元素的各種排序,但其一般性能比前兩種map差。

LinkedHashMap映射減少了HashMap排序中的混亂,且不會(huì)導(dǎo)致TreeMap的性能損失。


參考

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SortedMap接口的實(shí)現(xiàn)類TreeMap介紹和實(shí)現(xiàn)Comparator自定義比較器 | IT宅.com
Java Map按鍵排序和按值排序
java集合框架系列---TreeMap
集合框架中的map接口的使用
TreeMap就這么簡(jiǎn)單
大數(shù)據(jù)學(xué)習(xí)路線分享大數(shù)據(jù)之Map接口
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服