JAVA筆記4

來源:互聯網
上載者:User

1、集合裡只能儲存對象(實際上是對象的引用),數組能儲存基礎資料型別 (Elementary Data Type)和對象(實際上是對象的引用)

2、如果需要查閱Map中的資料時,總是根據Map中的key來擷取。

3、Set裡的元素不能重複;List的長度可變,元素可以重複;Map中的每項資料都由兩個值組成。

4、集合類的訪問方式,List通過索引,Map通過key來訪問,Set只能根據元素本身來訪問。

5、Collection介面是List、Set、Queue介面的父介面。Iterator主要用於遍曆Collection集合中的元素,Iterator對象也被稱為迭代器。

6、Iterator僅用於遍曆集合,Iterator本身並不提供盛裝對象的能力。如果需要建立Iterator對象,則必須要有一個被迭代的集合。沒有集合的Iterator彷彿無本之木。

7、當使用Iterator對集合元素進行迭代時,Iterator並不是把集合元素本身傳給了迭代變數,而是把集合的值傳給了迭代變數,所以修改迭代變數的值對集合本身沒有任何改變,只有通過Iterator的remove方法來刪除上一次next方法返回的集合元素才可以,否則引發異常。

8、類似地,foreach迴圈的迭代變數也不是集合元素本身,系統只是依次把集合元素的值賦給迭代變數,因此在foreach迴圈中修改迭代變數的值也沒有任何實際意義

9、set集合不允許包含相同元素,判斷兩個對象相同不是用==,而是equals方法;常用HashSet類

10、HashSet特點:
不能保證元素的排列順序,順序可能發生變化;HashSet不是同步的,集合元素值可以使null。

11、HashSet集合判斷兩個元素相等的標準:兩個對象通過equals方法比較相等,並且兩個對象的hashCode()方法傳回值也相等。equals返回true但hashCode()傳回值不等,則HashSet會將他們儲存在不同的位置,可以添加成功。

12、重寫hashCode()的方式:
①對象內每個有意義的屬性f(即每個用作equals()比較的屬性)計算出一個int類型的hashCode值。
②利用第①步計算出來多個hashCode組合計算出一個hashCode值返回,為避免偶然性,可以為各屬性乘於任意一個質數後再相加。

13、當向HashSet中添加可變對象時,必須十分小心。若修改HashSet集合中的對象,有可能導致該對象與集合中的其他對象相等,從而導致HashSet無法準確訪問該對象

14、LinkedHashSet也是根據hashCode值來決定元素的儲存位置,但它同時使用鏈表維護元素的次序,即當遍曆LinkedHashSet中的元素時,HashSet將會按元素的添加順序來訪問集合裡的元素(正好是添加的時候的順序)

15、TreeSet可以確保集合元素處於排序狀態,TreeSet採用紅/黑樹狀結構的資料結構對元素進行排序,支援自然排序(按升序)和定製排序兩種,預設是自然排序

16、TreeSet會調用該對象的compareTo(Object obj)方法與集合中的其他元素進行比較

17、在TreeSet中判斷兩個對像不相等的標準:兩個對象通過equals方法返回false,或者通過compareTo(Object obj)比較沒有返回0

18、當需要將一個對象放入TreeSet中時,重寫該對象對應類的equals()方法時,應該保證該方法與compareTo(Object obj)方法有一致的結果,其規則是:如果兩個對象通過equals方法返回true時,這兩個對象通過compareTo(Object obj)方法比較也應該返回0

聯繫我們

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