Set List Map的區別和聯絡

2021-09-22 20:06:32 字數 1832 閱讀 2224

1. 我們先來分析一下他的層級結構

對於 iterator 和 conllection 就不在贅述,下面總結一下set、list、map 之間的區別和聯絡

一、set

1. set介面同樣是collection介面的乙個子介面,它表示數學意義上的集合概念。set中不包含重複的元素,即set中不存兩個這樣的元素e1和e2,使得e1.equals(e2)為true。由於set介面提供的資料結構是數學意義上集合概念的抽象,因此它需要支援物件的新增、刪除,而不需提供隨機訪問。故set介面與collection的介面相同。

2. set介面繼承collection介面,而且它不允許集合中存在重複項。所有原始方法都是現成的,沒有引入新方法。具體的set實現類依賴新增的物件的equals()方法來檢查等同性。

hashset: 使用hashmap的乙個集的實現。雖然集定義成無序,但必須存在某種方法能相當高效地找到乙個物件。使用乙個hashmap物件實現集的儲存和檢索操作是在固定時間內實現的.

treeset: 在集中以公升序對物件排序的集的實現。這意味著從乙個treeset物件獲得第乙個迭代器將按公升序提供物件。treeset類使用了乙個treemap.

為優化 hashset 空間的使用,您可以調優初始容量和負載因子。treeset 不包含調優選項,因為樹總是平衡的,保證了插入、刪除、查詢的效能為log(n)。

hashset 和 treeset 都實現 cloneable 介面。

當您要從集合中以有序的方式抽取元素時,treeset實現會有用處。為了能順利進行,新增到treeset的元素必須是可排序的。

二、list

list介面繼承了collection 介面以定義乙個允許重複項的有序集合。該介面不但能夠對列表的一部分進行處理,還新增了面向位置的操作。

實際上有兩種list: 一種是基本的arraylist,其優點在於隨機訪問元素,另一種是更強大的linkedlist,它並不是為快速隨機訪問設計的,而是具有一套更通用的方法。

list : 次序是list最重要的特點:它保證維護元素特定的順序。list為collection新增了許多方法,使得能夠向list中間插入與移除元素(這只推薦linkedlist使用。)乙個list可以生成listiterator,使用它可以從兩個方向遍歷list,也可以從list中間插入和移除元素。    

arraylist : 由陣列實現的list。允許對元素進行快速隨機訪問,但是向list中間插入與移除元素的速度很慢。listiterator只應該用來由後向前遍歷arraylist,而不是用來插入和移除元素。因為那比linkedlist開銷要大很多。

linkedlist : 對順序訪問進行了優化,向list中間插入與刪除的開銷並不大,隨機訪問則相對較慢。(使用arraylist代替。)還具有下列方法:addfirst(), addlast(), getfirst(), getlast(), removefirst() 和 removelast(), 這些方法 (沒有在任何介面或基類中定義過)使得linkedlist可以當作堆疊、佇列和雙向佇列使用。

vector:實現乙個類似陣列一樣的表,自動增加容量來容納你所需的元素。使用下標儲存和檢索物件就象在乙個標準的陣列中一樣。你也可以用乙個迭代器從乙個vector中檢索物件。vector是唯一的同步容器類!!當兩個或多個執行緒同時訪問時也是效能良好的。

stsck: 這個類從vector派生而來,並且增加了方法實現棧!一種後進先出的儲存結構。

面向位置的操作包括插入某個元素或 collection 的功能,還包括獲取、除去或更改元素的功能。在 list 中搜尋元素可以從列表的頭部或尾部開始,如果找到元素,還將報告元素所在的位置。

MOLAP ROLAP HOLAP的區別和聯絡

在olap的世界裡,主要有兩種不同的型別 多維聯機分析處理 molap 和關係型聯機分析處理 rolap 混合聯機分析處理指的是molap和rolap技術的結合。這是olap分析的傳統方式。在molap中,資料儲存在乙個多維資料集 cube 中,儲存並不是在傳統的關係型資料庫中,而是自定義的格式。卓...

Bit,Byte,WORD,DWORD區別和聯絡

1人收藏此文章,收藏此文章 發表於4個月前 已有86次閱讀 共01人收藏此文章 基本概念 位 bit 位 或 位元 是計算機運算的基礎 位元組 byte 位元組 是通過網路傳輸資訊 或在硬碟或記憶體中儲存資訊 的單位。位元組是計算機資訊技術用於計量儲存容量和傳輸容量的一種計量單位,1個位元組等於8位...

Bit,Byte,WORD,DWORD區別和聯絡

位 bit 位 或 位元 是計算機運算的基礎 位元組 byte 位元組 是通過網路傳輸資訊 或在硬碟或記憶體中儲存資訊 的單位。位元組是計算機資訊技術用於計量儲存容量和傳輸容量的一種計量單位,1個位元組等於8位二進位制。在 ascii碼中,乙個英文本母 不分大小寫 佔乙個位元組的空間,乙個中文漢字佔...