淺析Java 數(shù)據(jù)結(jié)構(gòu)常用接口與類
Java工具包提供了強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)。在Java中的數(shù)據(jù)結(jié)構(gòu)主要包括以下幾種接口和類:
枚舉(Enumeration)
位集合(BitSet)
向量(Vector)
棧(Stack)
字典(Dictionary)
哈希表(Hashtable)
屬性(Properties)
以上這些類是傳統(tǒng)遺留的,在Java2中引入了一種新的框架-集合框架(Collection),我們后面再討論。
枚舉(Enumeration)
枚舉(Enumeration)接口雖然它本身不屬于數(shù)據(jù)結(jié)構(gòu),但它在其他數(shù)據(jù)結(jié)構(gòu)的范疇里應(yīng)用很廣。 枚舉(The Enumeration)接口定義了一種從數(shù)據(jù)結(jié)構(gòu)中取回連續(xù)元素的方式。
例如,枚舉定義了一個(gè)叫nextElement 的方法,該方法用來得到一個(gè)包含多元素的數(shù)據(jù)結(jié)構(gòu)的下一個(gè)元素。
位集合(BitSet)
位集合類實(shí)現(xiàn)了一組可以單獨(dú)設(shè)置和清除的位或標(biāo)志。
該類在處理一組布爾值的時(shí)候非常有用,你只需要給每個(gè)值賦值一"位",然后對位進(jìn)行適當(dāng)?shù)脑O(shè)置或清除,就可以對布爾值進(jìn)行操作了。
向量(Vector)
向量(Vector)類和傳統(tǒng)數(shù)組非常相似,但是Vector的大小能根據(jù)需要動態(tài)的變化。
和數(shù)組一樣,Vector對象的元素也能通過索引訪問。
使用Vector類最主要的好處就是在創(chuàng)建對象的時(shí)候不必給對象指定大小,它的大小會根據(jù)需要動態(tài)的變化。
棧(Stack)
棧(Stack)實(shí)現(xiàn)了一個(gè)后進(jìn)先出(LIFO)的數(shù)據(jù)結(jié)構(gòu)。
你可以把棧理解為對象的垂直分布的棧,當(dāng)你添加一個(gè)新元素時(shí),就將新元素放在其他元素的頂部。
當(dāng)你從棧中取元素的時(shí)候,就從棧頂取一個(gè)元素。換句話說,最后進(jìn)棧的元素最先被取出。
字典(Dictionary)
字典(Dictionary) 類是一個(gè)抽象類,它定義了鍵映射到值的數(shù)據(jù)結(jié)構(gòu)。
當(dāng)你想要通過特定的鍵而不是整數(shù)索引來訪問數(shù)據(jù)的時(shí)候,這時(shí)候應(yīng)該使用Dictionary。
由于Dictionary類是抽象類,所以它只提供了鍵映射到值的數(shù)據(jù)結(jié)構(gòu),而沒有提供特定的實(shí)現(xiàn)。
哈希表(Hashtable)
Hashtable類提供了一種在用戶定義鍵結(jié)構(gòu)的基礎(chǔ)上來組織數(shù)據(jù)的手段。
例如,在地址列表的哈希表中,你可以根據(jù)郵政編碼作為鍵來存儲和排序數(shù)據(jù),而是通過人的名字。
哈希表鍵的具體含義完全取決于哈希表的使用情景和它包含的數(shù)據(jù)。
屬性(Properties)
Properties 繼承于 Hashtable.Properties 類表示了一個(gè)持久的屬性集.屬性列表中每個(gè)鍵及其對應(yīng)值都是一個(gè)字符串。
Properties 類被許多Java類使用。例如,在獲取環(huán)境變量時(shí)它就作為System.getProperties()方法的返回值。
希望本篇文章對您有所幫助
- Java?如何通過注解實(shí)現(xiàn)接口輸出時(shí)數(shù)據(jù)脫敏
- Java實(shí)現(xiàn)調(diào)用對方http接口得到返回?cái)?shù)據(jù)
- java開發(fā)之基于Validator接口的SpringMVC數(shù)據(jù)校驗(yàn)方式
- Java 利用DeferredResult實(shí)現(xiàn)http輪詢實(shí)時(shí)返回?cái)?shù)據(jù)接口
- 五分鐘帶你了解Java的接口數(shù)據(jù)校驗(yàn)
- Java PriorityQueue數(shù)據(jù)結(jié)構(gòu)接口原理及用法
- java讀取其他服務(wù)接口返回的json數(shù)據(jù)示例代碼
- 如何使用java制作假數(shù)據(jù)接口
相關(guān)文章
mybatis createcriteria和or的區(qū)別說明
這篇文章主要介紹了mybatis createcriteria和or的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Mybatis Select Count(*)的返回值類型介紹
這篇文章主要介紹了Mybatis Select Count(*)的返回值類型,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
MybatisPlus字段自動填充失效,填充值為null的解決方案
這篇文章主要介紹了MybatisPlus字段自動填充失效,填充值為null的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
java 打印一字符串,并在main()方法內(nèi)調(diào)用它
編寫一個(gè)方法(名字自定,但要符合Java編碼規(guī)范),方法內(nèi)打印一字符串,并在main()方法內(nèi)調(diào)用它。2017-02-02
Java實(shí)現(xiàn)FTP文件的上傳和下載功能的實(shí)例代碼
FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。接下來通過本文給大家實(shí)例講解Java實(shí)現(xiàn)FTP文件的上傳和下載功能,需要的的朋友一起看看吧2016-11-11
JAVA利用順序表實(shí)現(xiàn)“楊輝三角”的思路及代碼示例
楊輝三角形是中國古代數(shù)學(xué)的杰出研究成果之一,是我國北宋數(shù)學(xué)家賈憲于1050年首先發(fā)現(xiàn)并使用的,這篇文章主要介紹了JAVA利用順序表實(shí)現(xiàn)楊輝三角的思路及代碼示例,需要的朋友可以參考下2025-01-01

