JAVA集合類(上)

來源:互聯網
上載者:User

標籤:分享圖片   排序   nbsp   col   而且   異常   bool   實體   黃色   

  Java有哪些資料存放區方式?
  • 基礎資料型別 (Elementary Data Type)(1byte3整2小1字元1布爾)分別是byte,short,int long,flort,double,char,boolean
  • String
  • 自訂封裝類(PO,VO等實體類)
  • 數組,儲存一組資料,可以是基礎資料型別 (Elementary Data Type),也可以是引用資料類型,但只能是同一類型,並且大小一定
  • 集合類,作用與數組類似,也可以儲存一組資料,也稱作容器類

  

  為什麼出現集合類?集合類與數組的區別是什嗎?

  數組的特點:

  1. 一個數組只能儲存同一種資料類型的資料
  2. 數組長度不可變,定義數組時必須定義長度
  3. 數組的儲存方式只有一種,需要通過遊標定位,遊標從0開始,不能存取範圍外的遊標

  集合類的特點:

  1. 一個集合類可以儲存多種資料類型的資料(對象一旦被放入集合類中,集合類都會把它當作是Object類型處理,這也是集合類可以儲存多種資料類型的資料的原因)
  2. 集合類的長度可變
  3. 每種集合類的儲存方式各不相同,可根據實際情況選用適當的集合類
  4. 集合類提供了一些排序、比較等方法,方便我們使用
     JAVA體系中的集合類有什嗎?

  我們可以得到什麼資訊呢?該圖說明,紅色的是常用的集合實作類別,主要是分為2個介面Collection Map,分類的依據是2者的儲存方式不同

  • Collection是孤立元素的對象集合,一次存一個元素,屬於單列集合
  • Map是成對元素的對象集合(“鍵—值”對),一次存一對元素,屬於雙列集合

 

 

 

  什麼是泛型?

  我們對集合類進行編譯時間,編譯器會出現警告(黃色驚嘆號),集合類之所以可以儲存不同類型的資料,是因為對象一旦被放進集合後,集合類都會把它當作是Object類型處 理。這樣做會帶來兩個問題:

  • 每次取出集合元素,都要進行強制類型轉換,不僅代碼臃腫,而且增加了編程的複雜度
  • 集合對元素類型沒有任何限制,假如只想建立一個Dog對象的集合,但是程式可以輕易把一個Cat對象放入集合中,那在取出集合元素時,如果將一個Cat類型的對象強制轉換為Dog類型,就會引起ClassCastException異常
  泛型如何解決問題?  

  定義了泛型之後,容器中就只能存放對應泛型的資料類型。

  使得集合類記住集合元素的資料類型,保證程式在編譯時間沒有警告,運行時沒有ClassCastException異常。

 

 

 

JAVA集合類(上)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.