簡述Java編程語言對象的容納

如果一個(gè)程序只含有數(shù)量固定的對象,而且已知它們存在的時(shí)間,那這個(gè)程序是相當(dāng)簡單的。

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、會(huì)昌網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

數(shù)組

容納對象有很多方式,數(shù)組是其中最為普遍的一種,它主要有如下兩個(gè)特點(diǎn):效率和類型。對于Java來說,為保存和訪問一系列對象(實(shí)際是對象的句柄),最有效率的方法莫過于數(shù)組。數(shù)組實(shí)際是一個(gè)簡單的線性序列,因此訪問速度非常的快,但是它也存在一些限制,如數(shù)組的大小是固定的,并且不可以在“存在時(shí)間”內(nèi)發(fā)生改變。
對于基本數(shù)據(jù)類型構(gòu)成的數(shù)組,其運(yùn)作類型跟對象數(shù)組相似,所不同的是前者里面保存的不是對象的句柄,而是實(shí)際的數(shù)值。

集合

編程的時(shí)候,通常不知道究竟需要保存多少對象,有時(shí)甚至想用更復(fù)雜的方式來保存對象,為解決這樣的問題,Java提供了幾種“集合類”:Vector(矢量),BitSet(位集),Stack(堆棧)以及HashTable(散列表)。

集合的缺點(diǎn):丟失了類型信息。它容納的實(shí)際上是類型為Object的對象的句柄。

枚舉器(迭代器)

用集合保存對象后再訪問,需要事先知道集合中對象的準(zhǔn)確類型,否則使用的過程中會(huì)出異常。而迭代器可以解決這個(gè)問題。迭代器是一個(gè)對象,其作用是遍歷一系列對象,并選擇那個(gè)序列中的每個(gè)對象,同時(shí)不讓客戶程序員知道或關(guān)注那個(gè)序列的基礎(chǔ)結(jié)構(gòu)。

Java中的Enumeration就是一個(gè)典型的迭代器,主要用來干如下事情:

(1)用一個(gè)名為Elements的方法要求集合為我們提供一個(gè)Enumeration,首次調(diào)用其NextElements時(shí),這個(gè)Enumeration會(huì)返回序列中的第一個(gè)元素。

(2)用NextElements獲取下一個(gè)對象。

(3)用HasMoreElements檢查是否有更多的對象。

集合的類型:

1. Vector

Vector 類可實(shí)現(xiàn)可增長的對象數(shù)組。與數(shù)組一樣,它包含可以使用整數(shù)索引進(jìn)行訪問的組件。但是,Vector 的大小可以根據(jù)需要增大或縮小,以適應(yīng)創(chuàng)建 Vector 后進(jìn)行添加或移除項(xiàng)的操作。

2. BitSet

BitSet實(shí)際是由“二進(jìn)制位”構(gòu)成的一個(gè)Vector。如果希望高效率地保存大量“開-關(guān)”信息,就應(yīng)使用BitSet。位set 的每個(gè)組件都有一個(gè) boolean 值。用非負(fù)的整數(shù)將 BitSet 的位編入索引??梢詫γ總€(gè)編入索引的位進(jìn)行測試、設(shè)置或者清除。通過邏輯與、邏輯或和邏輯異或操作,可以使用一個(gè) BitSet 修改另一個(gè) BitSet 的內(nèi)容。 默認(rèn)情況下,set 中所有位的初始值都是 false。

3. Stack

Stack也稱為“后入先出”集合。Java中的Stack類繼承自Vector類,它通過五個(gè)操作對類 Vector 進(jìn)行了擴(kuò)展 ,允許將向量視為堆棧。它提供了通常的 push 和 pop 操作,以及取堆棧頂點(diǎn)的 peek 方法、測試堆棧是否為空的 empty 方法、在堆棧中查找項(xiàng)并確定到堆棧頂距離的 search 方法。

4. HashTable

哈希表是一種重要的存儲(chǔ)方式,也是一種常見的檢索方法。其基本思想是將關(guān)系碼的值作為自變量,通過一定的函數(shù)關(guān)系計(jì)算出對應(yīng)的函數(shù)值,把這個(gè)數(shù)值解釋為結(jié)點(diǎn)的存儲(chǔ)地址,將結(jié)點(diǎn)存入計(jì)算得到存儲(chǔ)地址所對應(yīng)的存儲(chǔ)單元。檢索時(shí)采用檢索關(guān)鍵碼的方法?,F(xiàn)在哈希表有一套完整的算法來進(jìn)行插入、刪除和解決沖突。在Java中哈希表用于存儲(chǔ)對象,實(shí)現(xiàn)快速檢索。

總結(jié)

以上所述就是本文關(guān)于Java編程中對象的容納的全部介紹,希望對大家有所幫助。

詳細(xì)實(shí)例可以參考:Java編程思想對象的容納實(shí)例詳解

當(dāng)前文章:簡述Java編程語言對象的容納
當(dāng)前網(wǎng)址:http://muchs.cn/article0/pidsoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、域名注冊、企業(yè)網(wǎng)站制作、網(wǎng)站營銷網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)