<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

    Java學習筆記-集合框架

    集合框架是提供管理對象集合的接口和類,它包含3個組件:


    1.接口 :表示集合的抽象數據類型
       a.Collection接口:是構建集合框架的根。
       b.Set接口:擴展了Collection接口,它不允許有重復元素。
       c.List接口:擴展了Collection接口,一些集合具有順序,通常被成為列表。
       d.Map接口:沒有繼承Collection接口,具有鍵和值的對象。不能包含重復鍵,但可以包含重復值。

    2.類 :用于存儲集合的實際數據對象
       a.ArrayList :優點是可以動態添加數據元素,遍歷效率比LiskedList快。
       b.LinkedList:這是一種鏈表的數據結構,它和數組的區別在于數組是一段連續的內存空間,而
    鏈表可以是不連續的,這一點就說明了鏈表對內存空間的合理利用。看下單向鏈表的結構圖:

    頭節點先指向第1個節點,然后節點1的指針域又指向下一個節點,最后由于節點3后面沒元素了,就為null。
    試想一下當對鏈表進行插入刪除的時候只需要將指針域的指向改變一下就可以達到所需效果,而數組插入
    刪除的時候需要將插入或刪除的位置后所有元素后移或前移,很顯然在算法上插入刪除操作鏈表要比數組快。
    說了這么多數組與鏈表的區別,下面來看看LinkedList這個類怎么用:

    import java.util.*;

    public class linkedlist
    {
     
    public static void main(String[] args)
     
    {
      LinkedList linked
    =new LinkedList();
      
    //add element
      linked.add("111");
      linked.add(
    "222");
      linked.addFirst(
    "111");//allow repeat
      linked.addLast("555");
      System.
    out.println(linked);
      
    //insert element
      linked.add(1,"333");
      System.
    out.println(linked);
      
    //modify 
      linked.set(2,"555");
      System.
    out.println(linked);
      
    //remove
      linked.remove(2);
      System.
    out.println(linked);
     }

    }

       c.HashSet:一看就知道是哈西散列表的集合類,不能有重復元素。例子免了,比較簡單的,上段代碼我已經
    后悔寫了,用過java的都知道。
       d.TreeSet:將元素儲存在樹中,適合快速檢索大量排序信息。
       e.HashMap:HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
    Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

    3.算法 :用于操作集合,并被定義為Collections類中的靜態方法,給個例子就很好理解了

    import java.util.*;

    public class linkedlist
    {
     
    public static void main(String[] args)
     
    {
      LinkedList linked
    =new LinkedList();
      
    //add element
      linked.add("111");
      linked.add(
    "222");
      linked.addFirst(
    "333");
      linked.addLast(
    "555");
      System.
    out.println(linked);
      
    //來個排序
      Collections.sort(linked);
      System.
    out.println(linked);
      
    //如果要反轉排的要定義一個Comparator的接口
      Comparator cmp=Collections.reverseOrder();
      Collections.sort(linked,cmp);
      System.
    out.println(linked);
     }

    }




    還有N多方法,自己去試試把。

    其實還有很多集合類和接口:
    最后總結下結合框架的優點(抄書):
    1.集合框架提供了一組可用的集合接口
    2.提供了有效的數據結構和算法,減少了編程量
    3.使我們方便的擴展集合
    4.設計新API的工作降到最少
    5.接口算法的可重用性提高了軟件的可重用性

    posted on 2005-08-19 06:55 瘋流成性 閱讀(421) 評論(0)  編輯  收藏 所屬分類: j2se


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲6080yy久久无码产自国产| 国产亚洲精品自在久久| 男女超爽刺激视频免费播放| 国产福利在线免费| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲一区二区在线免费观看| 亚洲国产av一区二区三区丶| 亚洲a∨国产av综合av下载 | 久久九九兔免费精品6| 免费看美女被靠到爽| 亚洲精品国产精品国自产观看| 久久久亚洲精品国产| 亚洲一卡2卡三卡4卡无卡下载| 特级毛片aaaa级毛片免费| 日本高清免费观看| 日本免费人成黄页在线观看视频| 国产亚洲精品a在线无码| 青青操在线免费观看| 免费网站看v片在线香蕉| 日韩欧美亚洲国产精品字幕久久久| 成人五级毛片免费播放| 亚洲国产精久久久久久久| 污视频网站免费在线观看| 青青视频观看免费99| 亚洲午夜福利在线视频| 亚洲Av无码国产情品久久| 日韩亚洲国产综合高清| 最近高清中文字幕免费| 好看的电影网站亚洲一区| 日韩人妻无码精品久久免费一 | 免费可以看黄的视频s色| 亚洲女子高潮不断爆白浆| 四虎在线成人免费网站| 亚洲日韩精品无码AV海量| 亚洲国产成人精品91久久久| 女同免费毛片在线播放| 亚洲精品天堂成人片?V在线播放| 最近中文字幕大全免费版在线| 91亚洲精品自在在线观看| mm1313亚洲精品国产| 无人视频免费观看免费视频|