java時斷時續之————java集合

來源:互聯網
上載者:User

對JAVA的集合的理解是想對於數組

      數組是大小固定的,並且同一個數組只能存放類型一樣的資料(基本類型/參考型別)

     JAVA集合可以儲存和運算元目不固定的一組資料。

     所有的JAVA集合都位於 java.util包中!

     JAVA集合只能存放參考型別的的資料,不能存放基礎資料型別 (Elementary Data Type).

     JAVA集合主要分為三種類型:              

                   Set(集)

                   List(列表)

                   Map(映射)

  Collection 介面

                         Collection是最基本的集合介面,聲明了適用於JAVA集合(只包括Set和List)的通用方法。

                                                  Set  和List 都繼承了Conllection,Map沒有

           Collection介面的方法:

                   boolean add(Object o)   :向集合中加入一個對象的引用

                  void  clear()                        :刪除集合中所有的對象,即不再持有這些對象的引用

                  boolean isEmpty()           :判斷集合是否為空白

                  boolean contains(Object o):  判斷集合中是否持有特定對象的引用

                  Iterartor iterator()              : 返回一個Iterator對象,可以用來遍曆集合中的元素

                  boolean remove(Object o):從集合中刪除一個對象的引用

                  int size()                               :返回集合中元素的數目

                  Object[] toArray()                 :返回一個數組,該數組中包括集合中的所有元素

         關於:Iterator() 和toArray() 方法都用於集合的所有的元素,前者返回一個Iterator對象,後者返回一個

                    包含集合中所有元素的數組。

           Iterator介面聲明了如下方法:

                                hasNext(): 判斷集合中元素是否遍曆完畢,如果沒有,就返回true

                                next()       :返回下一個元素

                                remove():從集合中刪除上一個有next()方法返回的元素。

                          Set(集合):

             Set是最簡單的一種集合。集合中的對象不按特定的方式排序,並且沒有重複對象。

            Set介面主要實現了兩個實作類別:

                                      HashSet : HashSet類按照雜湊演算法來存取集合中的對象,存取速度比較快

                                     TreeSet   : TreeSet類實現了SortedSet介面,能夠對集合中的對象進行排序。

                   Set 的用法:

                                    存放的是對象的引用,沒有重複對象

                        Set set=new HashSet();

                        String s1=new String("hello");

                       String s2=s1;

                       String s3=new String("world");

                        set.add(s1);

                       set.add(s2);

                       set.add(s3);

                       System.out.println(set.size());//列印集合中對象的數目 為 2。

          Set 的 add()方法是如何判斷對象是否已經存放在集合中?

                             boolean isExists=false;

                             Iterator iterator=set.iterator();

                            while(it.hasNext())           {

                                   String oldStr=it.next();

                                   if(newStr.equals(oldStr)){

                                   isExists=true;

                                            }

                            }

                            List(列表):

                  List的特徵是其元素以線性方式儲存,集合中可以存放重複對象。

                  List介面主要實作類別包括:

                                ArrayList()  : 代表長度可以改變得數組。可以對元素進行隨機的訪問,向ArrayList()中插入與

                                                       與刪除元素的速度慢。

                              LinkedList(): 在實現中採用鏈表資料結構。插入和刪除速度快,訪問速度慢。

                對於List的隨機訪問來說,就是只隨機來檢索位於特定位置的元素。

               List 的 get(int index) 方法放回集合中由參數index指定的索引位置的對象,下標從“0” 開始。

              最基本的兩種檢索集合中的所有對象的方法:

          1: 用for迴圈和get()方法:

              for(int i=0; i<list.size();i++){

                       System.out.println(list.get(i));

               }

         2: 使用 迭代器(Iterator):

              Iterator it=list.iterator();

             while(it.hashNext){

               System.out.println(it.next);

             }

      Map(映射):

       Map 是一種把鍵對象和值對象映射的集合,它的每一個元素都包含一對鍵對象和值對象。

       Map沒有繼承於Collection介面

      從Map集合中檢索元素時,只要給出鍵對象,就會返回對應的值對象。

       Map 的常用方法:

           1 添加,刪除操作:

            Object put(Object key, Object value): 向集合中加入元素

     Object remove(Object key):   刪除與KEY相關的元素

     void putAll(Map t):   將來自特定映像的所有元素添加給該映像

     void clear(): 從映像中刪除所有映射

    2 查詢操作:

      Object get(Object key): 獲得與關鍵字key相關的值

       Map集合中的鍵對象不允許重複,也就說,任意兩個鍵對象通過equals()方法比較的結果都是false.

                       但是可以將任意多個鍵獨享映射到同一個值對象上。

 

           Conllections : 集合實用類

            Conllections提供了供JAVA集合實用的靜態方法

 

       總結:

                   JAVA集合的基本用法,都歸納了,上面這些是平常最常用的JAVA集合,具體的其他的,還要參考JDK協助文檔了,呵呵 關於 Map的應用,還有很多,具體就是這個,Conllections提供了很多 List /Map 實用的方法,對平常開發非常有用。

                                   對次會會不斷修改!
 

 

  boolean containsKey(Object key): 判斷映像中是否存在關鍵字key

 

 

  boolean containsValue(Object value): 判斷映像中是否存在值value

 

 <o:p></o:p>

   int size(): 返回當前映像中映射的數量

   

   <o:p></o:p><o:p></o:p>

  boolean isEmpty() :判斷映像中是否有任何映射<o:p></o:p>

聯繫我們

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