天天看點

【Java學習系列】第3課--Java 進階教程

java資料結構

  1)【概述】

  java的工具包提供了強大的資料結構在的java中的資料結構主要包括以下幾種接口和類:

枚舉(枚舉)

位集合(位集合)

向量(矢量)

棧(棧)

字典(詞典)

哈希表(哈希表)

屬性(屬性)

  以上這些類是傳統遺留的,在java2的中引入了一種新的架構 - 集合架構(集合),我們後面再讨論。

  2)枚舉(枚舉)

    a)【定義】枚舉(枚舉)接口雖然它本身不屬于資料結構,但它在其他資料結構的範疇裡應用很廣。枚舉(枚舉)接口定義了一種從資料結構中取回連續元素的方式

    b)【代碼舉例】

【Java學習系列】第3課--Java 進階教程

enumerationtester.java

     運作結果:

【Java學習系列】第3課--Java 進階教程

運作結果

如果你想學習java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載下傳。

  3)位集合(位集合)

    a)【定義】

      位集合類實作了一組可以單獨設定和清除的位或标志。該類在處理一組布爾值的時候非常有用,你隻需要給每個值指派一 “位”,然後對位進行适當的設定或清除,就可以對布爾值進行操作了。

【Java學習系列】第3課--Java 進階教程

bitsetdemo.java

  運作結果:

【Java學習系列】第3課--Java 進階教程

 4)向量(vector)

  a)【定義】

    向量(向量)類和傳統數組非常相似,但是矢量的大小能根據需要動态的變化。

    和數組一樣,矢量對象的元素也能通過索引通路。

    使用矢量類最主要的好處就是在建立對象的時候不必給對象指定大小,它的大小會根據需要動态的變化。

  b)【代碼執行個體】

【Java學習系列】第3課--Java 進階教程

vectordemo.java

    運作結果:

【Java學習系列】第3課--Java 進階教程

5)棧(堆棧)

    棧(堆棧)實作了一個後進先出(lifo)的資料結構。

    你可以把棧了解為對象的垂直分布的棧,當你添加一個新元素時,就将新元素放在其他元素的頂部。

    當你從棧中取元素的時候,就從棧頂取一個元素。換句話說,最後進棧的元素最先被取出。

【Java學習系列】第3課--Java 進階教程

stackdemo.java

【Java學習系列】第3課--Java 進階教程

6)字典(詞典)

    字典(字典)類是一個抽象類,它定義了鍵映射到值的資料結構。

    當你想要通過特定的鍵而不是整數索引來通路資料的時候,這時候應該使用字典。

    由于字典類是抽象類,是以它隻提供了鍵映射到值的資料結構,而沒有提供特定的實作。

7)哈希表(哈希表)

  a)【定義】  

    hashtable的類提供了一種在使用者定義鍵結構的基礎上來組織資料的手段。

    例如,在位址清單的哈希表中,你可以根據郵政編碼作為鍵來存儲和排序資料,而不是通過人名。

  b)【代碼實作】

【Java學習系列】第3課--Java 進階教程

hashtabledemo.java

  運作結果如下:

【Java學習系列】第3課--Java 進階教程

8)哈希表(哈希表)

    屬性繼承于hashtable.properties類表示了一個持久的屬性集。屬性清單中每個鍵及其對應值都是一個字元串。

    屬性類被許多java類使用。例如,在擷取環境變量時它們就作為system.getproperties()方法的傳回值。

【Java學習系列】第3課--Java 進階教程

propdemo.java

【Java學習系列】第3課--Java 進階教程