集合的由來:(1)、處理多個相同資料我們採用陣列,但陣列空間固定不能動態增長,插入或刪除元素比較麻煩。我們使用集合來解決這個問題。
(2)、集合特點:元素型別可以不同、集合長度可變、空間不固定。
---概念:為了解決某乙個特定的問題,預先設計好的一系列具有繼承或者實現關係的類介面。
---collections arrays提供演算法操作框架的工具類。為了演算法而存在的。
---collection介面 由它衍生出list和set介面,間接衍生出map介面。
---list介面的實現類:
add()---向集合中新增元素(增) remove()--將元素從集合中移除(刪) get()---從集合中獲取元素(查)
size()---檢視集合長度
---arraylist:底層實現用的是陣列,存放的元素 都是在連續的記憶體空間中。
雙向鍊錶是指 還能通過後面乙個元素找到前乙個元素。往中間操作大量的運算元據的時候用。
vector:執行緒更加安全 底層結構也是陣列。
---set集 特點:裡面的元素是不能重複的。使用自己內部的乙個排列機制放置元素。操作一系列資料,而且資料無重複時選擇s而調節扣的實現類。
---set介面的使用方法:add()---想集合中新增元素(增)。 remove(object o)---將元素從集合中移除(刪)。
size()---檢視集合長度。
---嚴格意義上,如果一旦重寫了equals()方法,就必須要重寫hashcode()方法,equals返回true,hashcode方法值要相同,equals返回false,不要求
hashcode一定要返回不同。 set集合根據兩個物件的equals()方法和hashcode()方法
來判斷兩個物件是否重複;要求:equals返回true,hashcode方法值要相同
---hashset:速度快 不排序 treeset:速度慢,排序
---map對映 特點:都是通過鍵值對的方式來存放資料。 一列資料對,使用自己內部的乙個排列機制放置元素。
key和value可以是任何類的例項。在map中不允許出現重複的鍵(key),值(value)是允許重複的。
---put() 將鍵值對存入集合 ---get() 根據鍵取出元素的值 --- keyset()將map中的所有鍵取出形成乙個set
---values()將map中所有的值取出形成乙個collection ---remove 根據鍵移除值
---hashmap:速度快,不排序 ---treemap:速度慢,不排序
---iterator 迭代器,遍歷集合。所謂遍歷是指從集合中取出每乙個元素的過程
---comparable內部比較器 指這個介面讓被排序的元素被繼承 ---comparator外部比較器 按照外部給予的排序方式排序
---泛型:幫助我們限制某個集合物件,只允許放入某種型別元素。
Java集合框架(JCF)
框架 為了解決某一問題,而預先設計的一系列具有繼承關係或實現關係的類與介面 集合 1.任意資料型別的元素均可以放入 2.容器可增,可減,數量任意 3.非連續空間 常見的四個類 1.hashset 2.arraylist 3.linkedlist 4.hashmap 核心的介面 i list 特點 線...
容器框架 JCF 列表 List
實現優點 缺點適用範圍 特點arraylist linkedlist vector 以可變陣列實現的列表,不支援同步 以雙向鍊錶實現的列表,不支援同步 以可變陣列實現的列表,支援同步,適合多執行緒下使用 利用索引位置可以快速定位訪問 順序訪問高效,中間插入和刪除高效 支援多執行緒 指定位置插入 刪除...
java集合框架
集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...