真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中treemap和treeset實(shí)現(xiàn)紅黑樹-創(chuàng)新互聯(lián)

TreeMap 的實(shí)現(xiàn)就是紅黑樹數(shù)據(jù)結(jié)構(gòu),也就說是一棵自平衡的排序二叉樹,這樣就可以保證當(dāng)需要快速檢索指定節(jié)點(diǎn)。

10多年的浠水網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整浠水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“浠水網(wǎng)站設(shè)計”,“浠水網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

TreeSet 和 TreeMap 的關(guān)系

為了讓大家了解 TreeMap 和 TreeSet 之間的關(guān)系,下面先看 TreeSet 類的部分源代碼:

 public class TreeSet extends AbstractSet 
 implements NavigableSet, Cloneable, java.io.Serializable 
 { 
 // 使用 NavigableMap 的 key 來保存 Set 集合的元素
 private transient NavigableMap m; 
 // 使用一個 PRESENT 作為 Map 集合的所有 value。
 private static final Object PRESENT = new Object(); 
 // 包訪問權(quán)限的構(gòu)造器,以指定的 NavigableMap 對象創(chuàng)建 Set 集合
 TreeSet(NavigableMap m) 
 { 
 this.m = m; 
 } 
 public TreeSet()     // ①
 { 
 // 以自然排序方式創(chuàng)建一個新的 TreeMap,
 // 根據(jù)該 TreeSet 創(chuàng)建一個 TreeSet,
 // 使用該 TreeMap 的 key 來保存 Set 集合的元素
 this(new TreeMap()); 
 } 
 public TreeSet(Comparator<? super E> comparator) // ②
 { 
 // 以定制排序方式創(chuàng)建一個新的 TreeMap,
 // 根據(jù)該 TreeSet 創(chuàng)建一個 TreeSet,
 // 使用該 TreeMap 的 key 來保存 Set 集合的元素
 this(new TreeMap(comparator)); 
 } 
 public TreeSet(Collection<? extends E> c) 
 { 
 // 調(diào)用①號構(gòu)造器創(chuàng)建一個 TreeSet,底層以 TreeMap 保存集合元素
 this(); 
 // 向 TreeSet 中添加 Collection 集合 c 里的所有元素
 addAll(c); 
 } 
 public TreeSet(SortedSet s) 
 { 
 // 調(diào)用②號構(gòu)造器創(chuàng)建一個 TreeSet,底層以 TreeMap 保存集合元素
 this(s.comparator()); 
 // 向 TreeSet 中添加 SortedSet 集合 s 里的所有元素
 addAll(s); 
 } 
 //TreeSet 的其他方法都只是直接調(diào)用 TreeMap 的方法來提供實(shí)現(xiàn)
 ... 
 public boolean addAll(Collection<? extends E> c) 
 { 
 if (m.size() == 0 && c.size() > 0 && 
  c instanceof SortedSet && 
  m instanceof TreeMap) 
 { 
  // 把 c 集合強(qiáng)制轉(zhuǎn)換為 SortedSet 集合
  SortedSet<? extends E> set = (SortedSet<? extends E>) c; 
  // 把 m 集合強(qiáng)制轉(zhuǎn)換為 TreeMap 集合
  TreeMap map = (TreeMap) m; 
  Comparator<? super E> cc = (Comparator<? super E>) set.comparator(); 
  Comparator<? super E> mc = map.comparator(); 
  // 如果 cc 和 mc 兩個 Comparator 相等
  if (cc == mc || (cc != null && cc.equals(mc))) 
  { 
  // 把 Collection 中所有元素添加成 TreeMap 集合的 key 
  map.addAllForTreeSet(set, PRESENT); 
  return true; 
  } 
 } 
 // 直接調(diào)用父類的 addAll() 方法來實(shí)現(xiàn)
 return super.addAll(c); 
 } 
 ... 
 } 

文章標(biāo)題:java中treemap和treeset實(shí)現(xiàn)紅黑樹-創(chuàng)新互聯(lián)
新聞來源:http://weahome.cn/article/dsgjds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部