Java Collection框架詳解

Java Collection框架詳解

   
   

經常會看到程序中使用了記錄集,常用的有Collection、HashMap、HashSet、ArrayList,因爲分不清楚它們之間的關係,所以在使用時經常會混淆,以至於不知道從何下手。在這兒作了一個小例子,希望有助於幫大家理順思路。
首先看一下它們的關係:
Collection
--List:-----------------------以特定次序存儲元素。所以取出來的順序可能和放入順序不同。
 
    ---ArrayList
     ---LinkedList
     ---Vector
--Set :----------------------- 不含有重複的元素
     --- HashSet
     --- TreeSet
Map
     ---HashMap
     ---HashTable
     ---TreeMap
補充:
  List,Set,Map將存入的數據一律視爲Object類型。
  Collection、List、Set、Map都是接口,不能實例化。繼承自它們的 ArrayList, Vector,HashTable,HashMap是具象class,這些纔可被實例化。
   vector不進行邊界檢查。
   接下來看一下具體的實例:
Collection
  定義一個Collection對象,指向其子類一個新創建的實例:
   Collection c = newArrayList()此即所謂的"父類引用指向子類對象",後面只要使用c即可代表新創建的ArrayList。接下來給它賦值。
      c.add("06S030014");
      c.add("hit");
      c.add("cs");
      c.add("wh");
  然後如何取出來哪,實現了Collection接口的子類都有一個iterator()方法,通過調用該方法可以返回Iterator類型的一個對象,使用該對象即可取出所要的值。代碼如下:
   Iterator it=c.iterator()
   String s =(String)it.next();
這只是取出其中的一條數據,要想把所有的都取出來,可以用循環
     for(Iterator it=c.iterator();it.hasNext();){
            String s = (String)it.next();
     }

實現了Collection接口的子類都可以用類似上述的方法存取數據。
HashMap
  HashMap不同於Collection,它的對象沒有iterator()方法,但它有一個values()方法,調用此方法後返回的是Collection對象,通過返回的對象可調用iterator()方法,從而實現取數據。
  還有一個get()方法也可以獲得數據,但只能取出單條記錄。看下面的例子
      HashMap hm1 = new HashMap();
      book bk1 = new book("001","java學習","高等教育");
      book bk2 = new book("002","tomcat配置","清華大學出版社");
      book bk3 = new book("003","jsp","機械工業");
      hm1.put("book1",bk1);
      hm1.put("book2",bk2);
      hm1.put("book3",bk3);
  其中book是書籍類,有三個屬性:bookid,bookname,bookpub。具體代碼見附件。
  調用put()方法將book的三個對象存入HashMap中,對應的名字分別爲book1,book2,book3
   取數據的兩種方法
     第一種
               Iterator itt = hm1.values().iterator();
               book bkex = (book) itt.next();
               取出的是第一條記錄,在此注意的是後存的先取[至於爲什麼我也說不清楚]
     第二種
           book tempbook =(book)hm1.get("book3");
           這樣可以直接根據名字取出對應的記錄。

以上是我得出來的一些經驗,希望能對大家有所幫助。也歡迎大家進一步探討!
附件是例子的完整代碼。
一下是關於線性表,鏈表,哈希表的詳細介紹,資料來源於互聯網。看了之後會更有助於加深對他們的瞭解!線性表,鏈表,哈希表是常用的數據結構,在進行Java開發時,JDK已經爲我們提供了一系列相應的類來實現基本的數據結構。這些類均在
java.util包中。本文試圖通過簡單的描述,向讀者闡述各個類的作用以及如何正確使用這些類。   
  
Collection 
├List 
│├LinkedList 
│├ArrayList 
│└Vector 
│ └Stack 
└Set 
Map 
├Hashtable 
├HashMap 
└WeakHashMap 
  
Collection接口 
  Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)。一些Collection允許相同的元
素而另一些不行。一些能排序而另一些不行。Java  
發佈了1 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章