91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-27 20:27:32 來源:腳本之家 閱讀:156 作者:Core Hua 欄目:編程語言

如果一個程序只含有數量固定的對象,而且已知它們存在的時間,那這個程序是相當簡單的。

數組

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

集合

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

集合的缺點:丟失了類型信息。它容納的實際上是類型為Object的對象的句柄。

枚舉器(迭代器)

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

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

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

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

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

集合的類型:

1. Vector

Vector 類可實現可增長的對象數組。與數組一樣,它包含可以使用整數索引進行訪問的組件。但是,Vector 的大小可以根據需要增大或縮小,以適應創建 Vector 后進行添加或移除項的操作。

2. BitSet

BitSet實際是由“二進制位”構成的一個Vector。如果希望高效率地保存大量“開-關”信息,就應使用BitSet。位set 的每個組件都有一個 boolean 值。用非負的整數將 BitSet 的位編入索引。可以對每個編入索引的位進行測試、設置或者清除。通過邏輯與、邏輯或和邏輯異或操作,可以使用一個 BitSet 修改另一個 BitSet 的內容。 默認情況下,set 中所有位的初始值都是 false。

3. Stack

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

4. HashTable

哈希表是一種重要的存儲方式,也是一種常見的檢索方法。其基本思想是將關系碼的值作為自變量,通過一定的函數關系計算出對應的函數值,把這個數值解釋為結點的存儲地址,將結點存入計算得到存儲地址所對應的存儲單元。檢索時采用檢索關鍵碼的方法。現在哈希表有一套完整的算法來進行插入、刪除和解決沖突。在Java中哈希表用于存儲對象,實現快速檢索。

總結

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

詳細實例可以參考:Java編程思想對象的容納實例詳解

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔县| 白朗县| 河南省| 康平县| 鄢陵县| 湾仔区| 昆明市| 云安县| 屯昌县| 得荣县| 五河县| 收藏| 遂溪县| 乐亭县| 措美县| 监利县| 襄汾县| 铜鼓县| 轮台县| 商河县| 永福县| 临潭县| 双江| 信丰县| 邻水| 吴旗县| 永登县| 黄大仙区| 宝坻区| 泗洪县| 昆山市| 菏泽市| 衡水市| 延长县| 景德镇市| 南皮县| 翁源县| 确山县| 兴和县| 江油市| 莱阳市|