leochiang

          BlogJava 聯(lián)系 聚合 管理
            21 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

          Collection框架

                 集合框架(Collection Framework)泛指java.util包的若干個(gè)類和接口.如Collection,List,ArrayList,LinkedList,Vector(自動(dòng)增長數(shù)組),HashSet,HashMap等. 集合框架中的類主要封裝的是典型的數(shù)據(jù)結(jié)構(gòu),如動(dòng)態(tài)數(shù)組,鏈表,堆棧,集合,哈希表等.

          集合框架類似編程中經(jīng)常用到的工具類,使得編碼這專注于業(yè)務(wù)層的實(shí)現(xiàn),不需要從底層實(shí)現(xiàn)相關(guān)細(xì)節(jié)—“數(shù)據(jù)結(jié)構(gòu)的封裝”和”典型算法的實(shí)現(xiàn)”.
                  http://weipeng2k.iteye.com/blog/286620 
                集合框架的最根基的接口Collection,看一下它的聲明public interface Collection<E> extends Iterable<E>,可以看出它繼承了Iterable(可迭代的)接口,就相當(dāng)于說Collection的具體實(shí)現(xiàn)類均可以利用Iterator了,這也是集合均支持增強(qiáng)型For循環(huán)的原因。
          http://developer.51cto.com/art/200909/149543.htm
          Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)什么接口  
          http://www.aygfsteel.com/fastunit/archive/2008/04/08/191533.html 


          一個(gè)類實(shí)現(xiàn)了Camparable接口則表明這個(gè)類的對(duì)象之間是可以相互比較的,這個(gè)類對(duì)象組成的集合就可以直接使用sort方法排序。
          Comparator可以看成一種算法的實(shí)現(xiàn),將算法和數(shù)據(jù)分離,Comparator也可以在下面兩種環(huán)境下使用:
          1、類的設(shè)計(jì)師沒有考慮到比較問題而沒有實(shí)現(xiàn)Comparable,可以通過Comparator來實(shí)現(xiàn)排序而不必改變對(duì)象本身
          2、可以使用多種排序標(biāo)準(zhǔn),比如升序、降序等 


          ArrayListVector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。

           

          LinkedList也是線程不安全的,LinkedList提供了一些方法,使得LinkedList可以被當(dāng)作堆棧和隊(duì)列來使用。




           

          posted on 2012-08-26 11:24 leoChiang 閱讀(262) 評(píng)論(0)  編輯  收藏 所屬分類: 技術(shù)文檔
          主站蜘蛛池模板: 锡林郭勒盟| 寿宁县| 仁寿县| 威远县| 民县| 凤城市| 永靖县| 沈阳市| 桃园市| 阿拉善左旗| 松桃| 上高县| 平远县| 阜新市| 新昌县| 射阳县| 安远县| 合江县| 阜南县| 海林市| 龙井市| 喀什市| 前郭尔| 平乐县| 奉新县| 温宿县| 孝昌县| 长丰县| 称多县| 泸溪县| 鹤岗市| 浏阳市| 深泽县| 江永县| 左云县| 松滋市| 汉中市| 白城市| 兰溪市| 新昌县| 尚志市|