天天看點

黑馬程式員_日記30_Java集合架構概述

 ——- android教育訓練、java教育訓練、期待與您交流! ———-

集合架構概述

正如資料被封裝在對象裡面,對象則封裝在集合。

是以,集合就是對象的一種存儲方式。

數組也可以存儲對象,那麼數組和集合的差別是什麼呢?

數組的長度是固定的,而集合的長度是可變化的。

數組隻可以存儲基本資料類型,而集合隻可以存取對象。

集合的特點:

1 集合隻能存儲對象

2 集合的長度是可變的

3 集合可以存儲不同類型的對象

換言之,集合就是各種各樣的容器,那麼為什麼會出現這麼多的容器呢?

因為每一個容器的資料存儲方式都千差萬别。

而這個存儲方式我們稱之為:資料結構。

集合體系如下圖所示。

黑馬程式員_日記30_Java集合架構概述

下面談談集合常用的接口以及共性方法

黑馬程式員_日記30_Java集合架構概述

Collection接口鎖包含的共性方法有:

添加一個元素add(Object obj)

添加一個集合addAll(Collection)

清空集合clear()

移除一部分元素removeAll(Collection)

取交集retainAll(Collection)

轉成數組toArray()

疊代取出iterator()

//建立集合

ArrayList al = new ArrayList();

//1 添加

al.add(“java”);//注意添加的是Object類型的

//2 擷取集合長度,集合中包含的元素個數

al.size();

//列印集合

System.out.println(al);

舉例:

Person p = new Person();

ArrayList al = new ArrayList();

al.add(p);

注意:

1 add方法添加的參數是Object

2 存儲的都是位址值

如下圖所示。

黑馬程式員_日記30_Java集合架構概述

//删除元素

al.remove(“number003”);

黑馬程式員_日記30_Java集合架構概述

//清空集合

al.clear();

黑馬程式員_日記30_Java集合架構概述

//判斷元素

包 含:boolean flag = al.contains(“number003”);

黑馬程式員_日記30_Java集合架構概述

是否為空集:boolean flag2 = al.isEmpty();

黑馬程式員_日記30_Java集合架構概述
import java.util.*;
class Demo
{
    public static void main(String[] args)
    {
        //建立集合
        ArrayList al = new ArrayList();

        //添加元素
        al.add("number001");
        al.add("number002");
        al.add("number003");
        al.add("number004");

        System.out.println("集合的長度:"+al.size());

        //列印集合
        System.out.println(al);

        //删除元素
        //al.remove("number003");

        //列印集合
        //System.out.println(al);

        //清空集合
        //al.clear();

        //列印集合
        //System.out.println(al);

        //判斷元素
        //boolean  flag = al.contains("number003");
        //System.out.println(flag);
        //boolean flag2 = al.isEmpty();
        //System.out.println(flag2);

    }
}
           

繼續閱讀