集合的概念
現實生活中:很多的事物湊在一起
數學中的集合:具有共同屬性的事物的總體
Java中的集合類:是一種工具類,就像是容器,儲存任意數量的具有共同屬性的對象
集合的作用
在類的內部,對數據進行組織
簡單而快速的搜索大數量的條目
有的集合接口,提供了一系列排列有序的元素,並且可以在序列中間快速的插入或者刪除有關元素
有的集合接口,提供了映射關係,可以通過關鍵字(key)去快速查找到對應的唯一對象,而這個關鍵字可以是任意類型
與數組的對比
數組的長度是固定的,集合長度可變
數組只能通過下標訪問元素,類型固定,而有的集合可以通過任意類型查找所映射的具體對象
JAVA集合框架兩大類:Collection、Map
List接口及其實現類——ArrayList
List(序列),元素有序,並且可以重複;
List可以精確控制元素的插入位置,或刪除指定位置的元素;
ArrayList——數組序列,是List的一個重要實現類;
ArrayList底層是由數組實現的;
Set接口及其實現類——HashSet
Set(集),元素無序,並且不可以重複;
HashSet——哈希集,是Set的一個重要實現類;
Map接口
Map提供了一種映射關係,元素是以鍵值對(key——value)的形式存儲的,能根據key快速查找value;
Map中的鍵值對以Entry類型的對象實例形式存在;
key值不能重複,value值可以重複;
key對value是多(一)對一的關係;
Map接口提供了返回key值集合、value值集合、Entry值集合的方法;
Map支持泛型,形式如:Map<K,V>;
HashMap類
HashMap是Map的一個重要實現類,也是最常用的,基於哈希表實現;
HashMap中的Entry對象時無序排列的;
Key值和value值都可以爲null,但是一個HashMap只能有一個 key值爲bull的映射(key值不可重複)