set介面繼承collection介面,裡面的方法在collection中都存在
set的幾個主要實現類為:hashset,treeset
hashset原始碼
//hashset的繼承關係public
class hashsetextends abstractsetimplements set, cloneable, j**a.io.serializable
//由此可以看出hashset底層實現是用hashmap
private
transient hashmapmap;
public
hashset()
通過下面方法,我們可以看出來,hashset的實現方法為map操作
//遍歷
public iteratoriterator()
//計算長度
public
intsize()
//判斷是否為空
public
boolean
isempty()
//新增
public
boolean
add(e e)
treeset原始碼
//treeset的繼承關係
public
class treesetextends abstractsetimplements n**igableset, cloneable, j**a.io.serializable
//有此可以看出treeset的底層實現也為mappublic
treeset()
treeset常用方法,都是呼叫treemap中的方法,只是在新增的時候用靜態常量present來填充map的value位置。
STL原始碼分析set
include include using namespace std int main set iset ia,ia 5 cout size iset.size endl cout 3 count iset.count 3 endl iset.insert 3 cout size iset.siz...
C STL原始碼分析 set和multiset
侯捷 sl體系結構核心分析 set和multiset探索 stl中assosiated container 比如 set 和 multiset 底層都是由紅黑樹作為支撐實現,所以在了解他們之前,有必要先來了解一下紅黑樹。template class traits class tree public ...
Redis原始碼分析之SET流程
本篇分析redis 如何處理set指令 客戶端解析使用者輸入 構造指令 redisformatsdscommandar clisendcommand issuecommandrepeat repl 例如使用者輸入set abcd 2,則構造的指令就是 3 r n 3 r nset r n 4 r n...