1. 程式人生 > >JAVA高階基礎(1)---集合框架的認識

JAVA高階基礎(1)---集合框架的認識

集合

集合的由來

通常,我們的程式需要根據程式執行時才知道建立多少個物件。但若非程式執行,程式開發階段,我們根本不知道到底需要多少個數量的物件,甚至不知道它的準確模型。為了滿足這些常規的程式設計需要,我們要求能在任何時候,任何地點建立任意數量的物件,而這些物件用什麼來容納呢?我們首先想到了陣列,但是陣列只能放統一型別的資料,而且長度是固定的,那怎麼辦呢?集合便應運而生了。

集合的產生

針對多個物件的儲存,我可以使用陣列。可是陣列存在兩個弊端:①只能儲存同種型別的資料;②長度是固定

為了解決陣列儲存多個物件的弊端,就產生了集合

什麼是集合

集合和陣列都是用來儲存多個內容的容器。集合是對資料的儲存,提取,查詢等一系列的操作的封裝。對於資料的儲存,需要按照一定結構來進行儲存,只有合理良好的結構,才能夠為後邊資料的操作提供高效,方便,快捷的運算。

集合的分類

             1、Collection  單列:

                               list  有序  可重複的集合

                               set 無序  不可重複的集合

              2、Map  雙列,存在對應關係的對映集合

在Java5之前,Java集合會丟失容器中所有物件的資料型別,把所有物件都當成Object型別處理;從Java5增加了泛型(引數化的型別)以後,Java集合可以記住容器中物件的資料型別。

集合的特點

①、集合只能存放物件。比如你存一個 int 型資料 1放入集合中,其實它是自動轉換成 Integer 類後存入的,Java中每一種基本型別都有對應的引用型別。

②、集合存放的是多個物件的引用,物件本身還是放在堆記憶體中。

③、集合可以存放不同型別,不限數量的資料型別。

陣列和集合類同是容器,有何不同?

陣列雖然也可以儲存物件,但長度是固定的;集合長度是可變的。陣列中可以儲存基本資料型別,集合只能儲存物件。

集合框架三大元件

集合框架的優勢

  1. 提供有用的資料結構和演算法,從而減少程式設計工作
  2. 供了高效能的資料結構和演算法,優化了程式的效能
  3. 許不同 API 相互操作,API之間可以來回傳遞集合
  4. 利用繼承、介面可以方便地擴充套件或改寫集合

集合框架圖

1、Collection介面是一組允許重複的元素

2、Set介面繼承Collection,集合元素不重複

3、List介面繼承Collection,允許重複,維護元素插入順序

4、Map介面是鍵--值物件,與Collection介面沒什麼關係