集合框架的圖:
collection
|--list 元素有序,可重複。
|--arraylist
底層資料結構是陣列,查詢快,增刪慢。
執行緒不安全。
|--vector
底層資料結構是陣列,查詢快,增刪慢。
執行緒安全,所以,查詢也慢。
|--linkedlist
底層資料結構是鍊錶,查詢慢,增刪快。
執行緒不安全。
|--set 元素無序,不可重複。
|--hashset
底層資料結構是雜湊表。是用於保證元素的唯一性的。
如何保證的呢?是根據hashcode和equals方法。
當hashcode不同的時候,就把元素存入集合。
當hashcode相同的時候,就要進一步比較equals方法。
當equals方法返回true的時候,元素被認為是重複,不儲存。
當equals方法返回false的時候,元素儲存。
|--linkedhashset
底層資料結構是雜湊表和煉表。
鍊錶用於保證元素有序。
雜湊表用於保證元素唯一。
|--treeset
底層資料結構是二叉樹。是用於保證元素的排序的。預設是按照自然排序。
treeset儲存資料是如何保證元素的唯一性的呢?
是根據comparable或者comparator的返回值是0.就認為是同乙個元素。
treeset儲存自定義物件的時候,讓元素可以排序,有兩種方式:
實現comparable介面:讓元素本身具備比較性
實現comparator介面:讓集合本身具備比較性
iterator 迭代器
|--listiterator list集合的特有迭代器
treeset的比較性可以有下面兩種方式體現:
comparable:讓元素本身具備比較性
comparator:讓集合本身具備比較性
學習集合框架的重點方法:
新增元素
刪除元素
判斷遍歷元素
用arraylist,hashset分別儲存自定義元素。
並可以用於根據自己的需求來確定元素是否唯一。
總結:array:資料結構是陣列。查詢快,增刪慢
link:資料結構是鍊錶,查詢慢,增刪快
hash:資料結構是雜湊表。保證元素唯一是根據hashcode和equals
tree:資料結構是二叉樹。保證元素唯一是根據comparable和comparator的返回值是否是0.
冥想第十九天
不能怪自己多心,畢竟出現不舒服的感覺是因為大腦太關切自己的身體了。一點也不想讓它受刺激。今天出來玩了,早上做了體檢。又帶著小妞妞出來打了預防針,後又跟著朋友出來滎陽南嶺玩了,到時有點困,告訴自己要接受,好好接受當下 但不反抗,知道是正常的。坐上車後睡了一會,所有的精力都回來了。當和朋友一起回來的時候...
ACM 第十九天
積性函式o n 線性篩,篩素數,u n 尤拉函式 n n 1 vis 0 vis 1 1,mu 1 1,phi 1 1 2 for rg int i 2 i n i 7else mu k mu i phi k phi i phi prime j 8 9 可以發現,線性篩分為3部分 1.n本身是素數,...
PYTHON小白 第十九天
python小白 第十九天 1 異常概述 異常機制己經成為衡量一門程式語言是否成熟的標準之一,使用異常處理機制的python程式有更好的容錯性,更加健壯。2 異常處理機制 python的異常處理機制可以讓程式具有極好的容錯性,讓程式更加健壯。當程式執行出現意外情況時,系統會自動生成error物件來通...