日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中oriqinal_Java集合10 (NavigableMap)

發(fā)布時間:2024/9/19 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中oriqinal_Java集合10 (NavigableMap) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

java.util.NavigableMap接口是java.util.SortedMap子接口。

它相對SortedSet有更多一點的擴展。

目前java api中只有TreeMap實現(xiàn)了該接口。

descendingKeySet() and descendingMap()

descendingKeySet()方法返回一個與originall順序相反的值的一個Set集合,并且返回的數(shù)據(jù)和原始的數(shù)據(jù)

其實是指向同一塊內存區(qū)域,在視圖上的任何修改都會影響到原始的數(shù)據(jù)。

NavigableMap original = new TreeMap();

NavigableSet reverse = original.descendingKeySet();

descendingMap()方法返回一個與original順序相反的NavigableMap集合,

作用在該集合上的操作同時也會影響original數(shù)據(jù)。

NavigableMap descending = original.descendingMap();

headMap(), tailMap() and subMap()

headMap()方法返回小于指定元素的NavigableMap集合。

tailMap()方法返回大于指定元素的NavigableMap集合。

subMap()方法允許傳入兩個指定元素,返回基于兩元素間的NavigableMap集合

NavigableMap original = new TreeMap();

original.put("1", "1");

original.put("2", "2");

original.put("3", "3");

// headmap 包含"1","2"

SortedMap headmap = original.headMap("3");

// 第二個boolean類型參數(shù)是否包含指定元素

// headmap 包含"1","2","3"

NavigableMap headmap = original.headMap("3",true);

//

original.put("4", "4");

original.put("5", "5");

// submap key包含"3"

SortedMap submap = original.subMap("2","4");

// submap key包含"2","3","4"

NavigableMap submap = original.subMap("2",true,"4",true);

ceilingKey(), floorKey(), higherKey() and lowerKey()

ceilingKey()方法返回大于等于指定key中的所有key中最小的一個key。

相反,floortKey()方法返回小于等于指定key中的所有key中最大的一個key。

higherKey()方法返回大于指定key中的所有key中最小的一個key。

相反,lowerKey()方法返回小于指定key中的所有key總最大的一個key。

NavigableMap original = new TreeMap();

original,put("1","1");

original,put("2","2");

original,put("3","3");

// ceilingKey = "2"

Object ceilingKey = original.ceilingKey("2");

// floorKey = "2"

Object floorKey = original.floorKey("2");

// higherKey = "3"

Object higherKey = original.higherKey("2");

// lowerKey = "1"

Object lowerKey = original.lowerKey("2");

ceilingEntry(), floorEntry(), higherEntry() and lowerEntry()

NavigableMap同時也有給定指定的key,返回對應的Entry的方法,即省去了先獲取key再得到Entry了。

返回Entry的方法和返回key的方法類似,只是返回的對象是Map.Entry。

NavigableMap original = new TreeMap();

original,put("1","1");

original,put("2","2");

original,put("3","3");

// ceilingEntry = ("2","2")

Map.Entry ceilingEntry = original.ceilingEntry("2");

// floorEntry = ("2","2")

Map.Entry floorEntry= original.floorEntry("2");

// higherEntry = ("3","3")

Map.Entry higherEntry = original.higherEntry ("2");

// lowerEntry = ("1","1")

Map.Entry lowerEntry = original.lowerEntry("2");

pollFirstEntry() and pollLastEntry()

pollFirstEntry()方法返回并且刪除排序最前的在NavigableMap中的entry。

pollLastEntry()方法返回并且刪除排序最后的在NavigableMap中的entry。

如果NavigableMap為空,則返回null。

NavigableMap original = new TreeMap();

original.put("1","1");

original.put("2", "2");

original.put("3", "3");

// first = ("1","1")

Map.Entry first = original.pollFirstEntry();

// last = ("3","3")

Map.Entry last = original.pollLastEntry();

轉載于:https://my.oschina.net/kevinair/blog/191242

總結

以上是生活随笔為你收集整理的java中oriqinal_Java集合10 (NavigableMap)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。