Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks
          Java 6對(duì)Nevigable接口做了一些改進(jìn)。具體的看以下例子:

          例如一個(gè)渡口有一個(gè)不定期的時(shí)刻表,我們將每日離港的時(shí)間保存在TreeSet中,那么,如果我們想獲得下午4點(diǎn)前離開的最后一班渡輪(1600)和下午8殿后離開的最早一班渡輪(2000),應(yīng)該怎么實(shí)現(xiàn)呢?

          TreeSet<Integer> times = new TreeSet<Integer>();
          times.add(1205);
          times.add(1505);
          times.add(1545);
          times.add(1830);
          times.add(2010);
          times.add(2100);

          Java 5中可以這樣獲得:

          TreeSet<Integer> subset = new TreeSet<Integer>();
          subset = (TreeSet)times.headSet(1600);
          System.out.println("the last before 4pm:" + subset.last());

          TreeSet<Integer> subset2 = new TreeSet<Integer>();
          subset2 = (TreeSet)times.tailSet(2000);
          System.out.println("the last before 8pm:" + subset.last());

          在Java 6中,可以更加方便:
          System.out.println("the last before 4pm:" + times.lower(1600));
          System.out.println("the last before 8pm:" + times.higher(2000));

          對(duì)NavigableSet有四個(gè)方法:lower(), floor(),higher()和ceiling()。 lower和floor的區(qū)別是,lower是比給定元素小的元素,而floor是小于或等于的。higher和ceiling類似。對(duì)于 NavigableMap也有四個(gè)方法: lowerKey(), floorKey(), ceilingKey()和higherKey()。
          posted on 2009-08-17 12:21 seal 閱讀(499) 評(píng)論(0)  編輯  收藏 所屬分類: Java基礎(chǔ)
          主站蜘蛛池模板: 哈巴河县| 房产| 太保市| 镇巴县| 米泉市| 宁夏| 社旗县| 宁强县| 金塔县| 太谷县| 北海市| 竹溪县| 正安县| 德惠市| 句容市| 柞水县| 大宁县| 溧水县| 荥阳市| 绍兴县| 保定市| 连南| 绥江县| 石屏县| 建始县| 鄂托克前旗| 弥勒县| 化州市| 来宾市| 黄龙县| 林芝县| 凭祥市| 灵璧县| 弥渡县| 新巴尔虎右旗| 舟山市| 海晏县| 东丰县| 甘谷县| 和顺县| 衡水市|