J2SE基礎:9.集合一,j2se基礎集合

來源:互聯網
上載者:User

J2SE基礎:9.集合一,j2se基礎集合

1:集合:


集合的概念:資料容器(與數組類似)。容器比較適合裝對象。


2:集合與數組的優缺點:


數組存取效率高,使用時要求容量大小固定;適合基礎資料型別 (Elementary Data Type)的存取;

集合存取效率上有一定的犧牲,集合容量大小可以根據實際需要改變,
提供豐富的存和取對象的方法,適合成為對象的“容器”




3:集合架構體系圖




介面的表徵圖

類的表徵圖

繼承的表徵圖:實心箭頭
實現的表徵圖:虛線


4:集合架構的分類:



A:集合(SET)

B:列表(List)

C:鍵值對(Map)

D:隊列(Queue)


Collection的方法




add(添加)

remove(刪除)

size(大小)

clear(清空)

Iterator(迭代器)

toArray(轉成數組)




A:集合SET


特點:(1)不重複(邏輯相等,equals);
     (2)可以加一個NULL元素。
 

   HashSet:


特點:(1):雜湊演算法實現,無序的。
     (2):不是線程同步的。

由於HashSet中對象是不重複的。因此要重寫對象的equals方法。由於不重複,因此往集合中
加入對象時,要一個個的比較是否重複。效率比較低。

因此,往集合中加元素時,先比較對象的hashCode是否在集合存在。

如果不存在:直接添加

如果存在:再比較兩個以象是否equals,如果equals(),對象重複,不添加。

  如果不equals(),對象不重複。




   LinkedHashSet


特點:(1):底層機制鏈表方式實現。
     (2):元素是有序的。(是指添加進去的元素有序,不是指對象之間的順序)
     (3):不是線程同步的。
     (4):由於是用鏈表實現,因此增刪改對象比較容易。尋找比較慢。


   CopyOnWriteArraySet


特點:(1):底層機制數組方式實現。
     (2):元素是有序的。(是指添加進去的元素有序,不是指對象之間的順序)
     (3):它是線程同步的。
     (4):由於是用數組實現,因此尋找比較快。增刪改比較慢。
     


線程同步與非線程同步:


線程同步:當多個線程同時訪問一個資源時,只能有一個線程訪問該資源。因此效率比較
         慢。但資料對於多個線程來說是同步的。

非線程同步:當多個線程同時訪問一個資源時,多個線程都可以訪問該資源。因此效率比較
           快,但會造成多個資料看到的資料不同步。
   

   TreeSet


特點:元素有序的(對象之間有序)

已知集合A={1,3,5,7,9,11},B={1,7,17}試以集合A與B中各取一個數作為點的座標,在同一直角座標系中所確定

我得出的是A 32種
(1,1)(1,7)(1,17)
(3,1)(3,7)(3,17)
(5,1)(5,7)(5,17)
(7,1)(7,7)(7,17)
(9,1)(9,7)(9,17)
(11,1)(11,7)(11,17)
(1,3)(1,5)(1,9)(1,11)
(7,3)(7,5)(7,9)(7,11)
(17,1)(17,3)(17,5)(17,7)(17,9)(17,11)
如果不考慮重複的話有6*3*2=36種搭配
因為有相同數字,有四個組合重複了兩次(1,1)(7,7)(1,7)(7,1)所以36種搭配要減去4種。 你的結果沒錯,再確認一下是不是答案錯了。
 
已知集合A={2,4,6,8,9},B={1,2,3,5,8},又知非空集合C是這樣一個集合:其個元素都加2後,就變成A的一個自己

其個元素都加2後,就變成A的一個子集,若個元素都減去2後,則變成B的一個子集,

即 AB集合中 元素大小相差4的兩元素平均數 且A中元素大於B中元素

即A中取一元素a B中取一元素b a-b=4 則 (a+b)/2屬於C

c={4.7}

(6+2)/2=4
(9+5)/2=7
 

聯繫我們

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