Java基礎——集合(一)——集合體系、Collection集合

來源:互聯網
上載者:User

標籤:java   集合   collection   

一、集合概述

         Java是一種物件導向語言,如果我們要針對多個對象進行操作,就必須對多個對象進行儲存。而數組長度固定,不能滿足變化的要求。所以,java提供了集合。

         特點

                1.        長度可以發生改變

                2.        只能儲存物件

                3.        可以儲存多種類型對象

           與數組區別          

 

數組

集合

長度

固定

可變

儲存元素

基本類型/參考型別

參考型別

元素類型的一致性

必須一致

可以不一致

二、集合體系

          集合作為一個容器,可以儲存多個元素,但是由於資料結構的不同,java提供了多種集合類。將集合類中共性的功能,不斷向上抽取,最終形成了集合體繫結構。

          資料結構:資料存放區的方式

          Java中集合類的關係圖

          

         集合體系導圖(用滑鼠拖動圖片可看大圖右擊圖片選擇在新標籤頁中開啟圖片(I)


三、Collection

           Collection是最基本的集合介面,一個Collection代表一組Object,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行。一些能排序而另一些不行,於是衍生出兩個子類介面List和Set。

           

      Collection準系統

          A:添加功能

                          booleanadd(Object obj):向集合中添加一個元素

                          booleanaddAll(Collection c):向集合中添加一個集合的元素。

          B:刪除功能

                          voidclear():刪除集合中的所有元素。

                          booleanremove(Object obj):從集合中刪除指定的元素

                          booleanremoveAll(Collection c):從集合中刪除一個指定的集合元素。

          C:判斷功能

                          booleanisEmpty():判斷集合是否為空白。

                          booleancontains(Object obj):判斷集合中是否存在指定的元素。

                          booleancontainsAll(Collection c):判斷集合中是否存在指定的一個集合中的元素。

          D:遍曆功能

                          Iterator iterator():就是用來擷取集合中每一個元素。

          E:長度功能

                          intsize():擷取集合中的元素個數

          F:交集功能

                          booleanretainAll(Collection c):判斷兩個集合中是否有相同的元素。???

          G:把集合轉換成數組

                          Object[]toArray():把集合變成數組。

       List介面

            List介面下的集合元素儲存有序,可以重複。

            List的特有功能

              A:添加功能

                  voidadd(int index, Object obj):在指定位置添加元素

              B:刪除功能

                  Objectremove(int index):根據指定索引刪除元素,並把刪除的元素返回。

              C:修改功能

                  Objectset(int index, Object obj):把指定索引位置的元素修改為指定的值,返回修改前的值。

              D:擷取功能

                  intindexOf(Object o):返回指定元素在集合中第一次出現的索引

                  Objectget(int index):擷取指定位置的元素

                  ListIteratorlistIterator():列表迭代器

              E:截取功能

                  ListsubList(int fromIndex, int toIndex):截取集合。

       Set 介面

               Set介面下的元素無序,不可以重複。其下面分為HashSet和TreeSet。

              HashSet

               底層資料結構是雜湊表,線程不安全,效率高。

               保證唯一性依賴兩個方法:hashCode()和equals()。

               順序:

                       判斷hashCode()值是否相同。

                       相同:繼續走equals(),看返回值

                                   如果true:就不添加到集合。

                                   如果false:就添加到集合。

                       不同:就添加到集合。

              TreeSet

                底層資料結構是二叉樹,線程不安全,效率高。

                保證元素唯一性的方法時根據返回值是否是0。

                保證排序的兩種方式:

                        自然排序(元素具備比較性):實現Comparable介面

                        比較子排序(集合具備比較性):實現Comparator介面


                未完待續,下篇為迭代器+Map集合


Java基礎——集合(一)——集合體系、Collection集合

聯繫我們

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