久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

比較分析Vector、ArrayList和hashtable hashmap數(shù)據(jù)_哈哈o(...

 luckystargq 2008-10-06
比較分析Vector,、ArrayList和hashtable hashmap數(shù)據(jù) (2008-04-19 14:05:58)
 
 線性表,,鏈表,哈希表是常用的數(shù)據(jù)結(jié)構(gòu),,在進(jìn)行Java開發(fā)時(shí),,JDK已經(jīng)為我們提供了一系列相應(yīng)的類來實(shí)現(xiàn)基本的數(shù)據(jù)結(jié)構(gòu)。這些類均在java.util包中,。本文試圖通過簡單的描述,,向讀者闡述各個(gè)類的作用以及如何正確使用這些類。

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap


Collection接口
  Collection是最基本的集合接口,,一個(gè)Collection代表一組Object,,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行,。一些能排序而另一些不行,。Java SDK不提供直接繼承自Collection的類,Java SDK提供的類都是繼承自Collection的“子接口”如List和Set,。
  所有實(shí)現(xiàn)Collection接口的類都必須提供兩個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù):無參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)空的Collection,,有一個(gè)Collection參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個(gè)新的Collection,這個(gè)新的Collection與傳入的Collection有相同的元素,。后一個(gè)構(gòu)造函數(shù)允許用戶復(fù)制一個(gè)Collection,。
  如何遍歷Collection中的每一個(gè)元素?不論Collection的實(shí)際類型如何,,它都支持一個(gè)iterator()的方法,,該方法返回一個(gè)迭代子,使用該迭代子即可逐一訪問Collection中每一個(gè)元素,。典型的用法如下:
    Iterator it = collection.iterator(); // 獲得一個(gè)迭代子
    while(it.hasNext()) {
      Object obj = it.next(); // 得到下一個(gè)元素
    }

  由Collection接口派生的兩個(gè)接口是List和Set,。


List接口
  List是有序的Collection,使用此接口能夠精確的控制每個(gè)元素插入的位置,。用戶能夠使用索引(元素在List中的位置,,類似于數(shù)組下標(biāo))來訪問List中的元素,,這類似于Java的數(shù)組。
和下面要提到的Set不同,,List允許有相同的元素,。
  除了具有Collection接口必備的iterator()方法外,List還提供一個(gè)listIterator()方法,,返回一個(gè)ListIterator接口,,和標(biāo)準(zhǔn)的Iterator接口相比,ListIterator多了一些add()之類的方法,,允許添加,,刪除,設(shè)定元素,,還能向前或向后遍歷,。
  實(shí)現(xiàn)List接口的常用類有LinkedList,ArrayList,,Vector和Stack,。


LinkedList類
  LinkedList實(shí)現(xiàn)了List接口,允許null元素,。此外LinkedList提供額外的get,,remove,insert方法在LinkedList的首部或尾部,。這些操作使LinkedList可被用作堆棧(stack),,隊(duì)列(queue)或雙向隊(duì)列(deque)。
  注意LinkedList沒有同步方法,。如果多個(gè)線程同時(shí)訪問一個(gè)List,,則必須自己實(shí)現(xiàn)訪問同步。一種解決方法是在創(chuàng)建List時(shí)構(gòu)造一個(gè)同步的List:
    List list = Collections.synchronizedList(new LinkedList(...));

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多