java集合架構

來源:互聯網
上載者:User

標籤:

  java集合架構(Java Collection Framework,簡稱JCF)是由一組類和介面組成的。其主要功能就是用來將儲存的資料以某種特定的結構組織,並以特定的方式訪問。其目的就是提供一個處理對象集合的通用架構,減少程式員處理不同對象集合是的編碼量。

  集合類中的一些區別,一是是否支援重複元素,二是包含的元素是否有序,三是集合類中元素是否能為null元素。所以集合將對象分為了三種類型:

    Set(集):對象容器中的對象沒有順序,並且不能重複。

    List(列表):對象容器中的對象按照索引順序排序,並且可以有重複的對象。

    Map(映射):對象容器中的元素包含著一對“鍵對象(Key)-值對象(Value)”映射,其中鍵對象不能重複,值對象可以重複。

  Set介面繼承了Collection介面。set集合包含許多方法。下面我們用HashSet來說明Set的特徵:

package pkg;import java.util.*;public class HashSetDemo{    public static void main(String[] args) {
     /*new 一個HashSet對象,泛型是<String>*/ Set
<String> set = new HashSet<String>(); String str1 = "123"; String str2 = "234"; String str3 = "345"; String str4 = "456"; set.add(str1); set.add(str2); set.add(str3); set.add(str4);
//通過foreach遍曆
for (String string : set) { System.out.println(string); } }}

代碼中遍曆的結果是隨機的,代碼中遍曆的元素是沒有順序的。這便體現了Set中的特徵。

  List介面也是繼承於Collection介面的,因為List中的元素是有序的,所以我們可以通過元素的位置(也就是索引)來直接引用元素。List介面中的ArrayList和數組類似,表示一組輸入索引的元素,區別在於ArrayList沒有固定的大小,長度可變。我們來看看ArrayList的操作:

import java.util.*;public class ArrayListDemo {    public static void main(String[] args) {        //new 一個ArrayList對象        List list = new ArrayList();        //添加元素        list.add(1);        list.add("abc");        list.add(10);        list.add(new Integer(4));        //根據索引刪除元素        list.remove(0);        //重設元素        list.set(0, 22);        for(int i=0;i<list.size();i++){//size是求ArrayList的長度            System.out.println(i + "=" + list.get(i));//get是顯示ArrayList中的元素        }    }}

  再有就是map介面,在map中鍵(key)和值(value)是一一對應的,通過指定的鍵,可以找到對應的唯一的值。HashMap是基於雜湊演算法的map介面實現的,將鍵儲存在雜湊表中進行維護,鍵是唯一的。但是HashMap並不保證鍵是以特定的順序排列。下面我們看看HashMap的基本用法:

import java.util.*;public class HashMapDemo {    public static void main(String[] args) {        //new 一個HashMap對象        Map<String,String> map = new HashMap<String,String>();        //在Map介面中是用put方法添加索引值對的        map.put("a1", "abc");        map.put("b1", "12");        map.put("S0001", "張三"+"  男");        //刪除        map.remove("a1");        //使用iterator遍曆        Set<String> keys = map.keySet();        for(Iterator<String> i = keys.iterator();i.hasNext();){            String key = i.next();            String value = map.get(key);            System.out.println(key + "=" +value);        }    }}

  以上就是集合中關於Set、List、Map的基本概念和操作。最後在說說泛型,泛型在代碼中用<E>表示(其中E只是個預留位置),泛型就是允許在定義類或者介面時指定類型形式參數,這個類型形式參數將在聲明變數、建立對象時確定(即傳入的實際參數)。通過泛型將參數類型化後,我們就可以強迫程式在編譯期就檢查從集合中取得的資料類型,以達型別安全的目的,並省去從集合取出資料在轉型的動作。

java集合架構

聯繫我們

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