我們為什麼要使用List和Set(List,Set詳解)
阿新 • • 發佈:2018-11-27
1、集合概述
類圖 |
集合和陣列的區別? |
集合基本方法 |
集合特有的遍歷方式? |
public static void main(String[] args) { //建立集合物件 Collection c = new ArrayList(); //建立並新增元素 c.add("hello"); c.add("world"); c.add("java"); //遍歷集合 Iterator it = c.iterator(); while(it.hasNext()) { String s =(String) it.next(); System.out.println(s); } }
2、List和Set概述
List和Set區別? |
3、List
List特點和實現類 |
有關執行緒安全的知識,參考http://blog.csdn.net/qq_34149805/article/details/64128499
有關連結串列的知識,參考http://blog.csdn.net/qq_34149805/article/details/67117288
4、Set
Set特點 |
Set具有與Collection完全一樣的介面,因此沒有任何額外的功能,不像前面有兩個不同的List。實際上Set就是Collection,只 是行為不同。(這是繼承與多型思想的典型應用:表現不同的行為。)Set不儲存重複的元素(至於如何判斷元素相同則較為負責)
Set 存入Set的每個元素都必須是唯一的,因為Set不儲存重複元素。加入Set的元素必須定義equals()方法以確保物件的唯一性。Set與Collection有完全一樣的介面。Set介面不保證維護元素的次序。
Set實現類 |
5、總結
ArrayXxx:底層資料結構是陣列,查詢快,增刪慢
LinkedXxx:底層資料結構是連結串列,查詢慢,增刪快
HashXxx:底層資料結構是雜湊表。依賴兩個方法:hashCode()和equals()
TreeXxx:底層資料結構是二叉樹。兩種方式排序:自然排序和比較器排序
我們為何使用它們? |