Java知識總結(2)——容器

來源:互聯網
上載者:User

1、容器:Java API所提供的一系列類的執行個體,用於在程式中存放對象。(存放的是對象,不能是基礎資料類型:因為棧上的資料隨時有可能被清空)

2、Collection介面定義了存去一組對象的方法,其子介面Set和List分別定義了儲存方式:a、Set類及其子類在儲存時,其儲存物件之間是無序的且不可重複的;b、List類及其子類在儲存時,其儲存物件之間是有序的且可以重複的。(這裡的重複是兩個對象之間的互相equals())

3、Map介面定義了儲存“鍵(key)—值(value)映射對”的方法。

4、容器類對象在調用remove、contains等方法時,需要比較對象是否相等。這會涉及物件類型的equals方法和hashCode方法;對自訂的類型,需要重寫equals和hashCode方法以實現自訂的對象相等規則。(注意:相等的對象應該具有相等的hashcodes。)(java.lang.Object中的equals的預設方法是判斷兩個對象是否為同一對象。)

5、Iterator介面:所有實現了Collection介面的容器都有一個iterator方法用於返回一個實現了Iterator介面的對象。此對象被稱為迭代器,用以方便的事項對容器內元素的遍曆操作。Iterator介面定義了如下方法:

boolean hasNext();//判斷遊標右邊是否是元素

Object next();//返回遊標右邊的元素並將遊標移動到下一個位置

Void remove();//刪除遊標左邊的元素,在執行完next之後該操作只能執行一次

注意:Iterator對象的remove方法是在迭代過程中刪除元素的唯一安全的方法。

6.關於數組與Collection遍曆的補充:

7、Set介面:

注意:Set介面可以完成數學集合中的運算。

8、List介面:

 

9、Map介面:

注意:索引值不能重複,是通過equals和hashCode方法來確定的。

10、Auto—boxing/unboxing(自動打包,解包)(在java1.5之後才有的)

在合適的時機自動打包、解包:a、自動打包就是自動的將基礎資料類型轉換為相應的對象;b、自動解包就是自動的將相應的基礎資料類型對象轉換為基礎資料類型。

11、泛型:

容器結構說明圖:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.