我們為什么要使用List和Set(List,Set詳解)


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); } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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:底層數據結構是二叉樹。兩種方式排序:自然排序和比較器排序
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
我們為何使用它們?

這里寫圖片描述

相關鏈接Java Map 超詳細匯總


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM