java之集合Collection 3個例子

來源:互聯網
上載者:User

標籤:物件導向   編輯器   對象   java   

package cn.itcast_01;import java.util.ArrayList;import java.util.Collection;/* * 集合的由來: *      我們學習的是物件導向語言,而物件導向語言對事物的描述是通過對象體現的,為了方便對多個對象進行操作,我們就必須把這多個對象進行儲存。 *      而要想儲存多個對象,就不能是一個基本的變數,而應該是一個容器類型的變數,在我們目前所學過的知識裡面,有哪些是容器類型的呢? *      數組和StringBuffer。但是呢?StringBuffer的結果是一個字串,不一定滿足我們的要求,所以我們只能選擇數組,這就是對象數組。 *      而對象數組又不能適應變化的需求,因為數組的長度是固定的,這個時候,為了適應變化的需求,Java就提供了集合類供我們使用。 *  * 數組和集合的區別? *      A:長度區別 *          數組的長度固定 *          集合長度可變 *      B:內容不同 *          數組儲存的是同一種類型的元素 *          而集合可以儲存不同類型的元素 *      C:元素的資料類型問題  *          數組可以儲存基礎資料型別 (Elementary Data Type),也可以儲存引用資料類型 *          集合只能儲存參考型別 *  * 剛說過集合是儲存多個元的,但是呢,儲存多個元素我們也是有不同需求的:比如說,我要這多個元素中不能有相同的元素, * 再比如說,我要這多個元素按照某種規則排序一下。針對不同的需求,Java就提供了不同的集合類,這樣呢,Java就提供了很多個集合類。 * 這多個集合類的資料結構不同,結構不同不重要的,重要的是你要能夠儲存東西,並且還要能夠使用這些東西,比如說判斷,擷取等。 * 既然這樣,那麼,這多個集合類是有共性的內容的,我們把這些集合類的共性內容不斷的向上提取,最終就能形成集合的繼承體繫結構。 *  * 資料結構:資料的儲存方式。 *  * Collection:是集合的頂層介面,它的子體系有重複的,有唯一的,有有序的,有無序的。(後面會慢慢的講解) *  * Collection的功能概述: * 1:添加功能 *      boolean add(Object obj):添加一個元素 *      boolean addAll(Collection c):添加一個集合的元素 * 2:刪除功能 *      void clear():移除所有元素 *      boolean remove(Object o):移除一個元素 *      boolean removeAll(Collection c):移除一個集合的元素(是一個還是所有) * 3:判斷功能 *      boolean contains(Object o):判斷集合中是否包含指定的元素 *      boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素(是一個還是所有) *      boolean isEmpty():判斷集合是否為空白 * 4:擷取功能 *      Iterator<E> iterator()(重點) * 5:長度功能 *      int size():元素的個數 *      面試題:數組有沒有length()方法呢?字串有沒有length()方法呢?集合有沒有length()方法呢? * 6:交集功能 *      boolean retainAll(Collection c):兩個集合都有的元素?思考元素去哪了,返回的boolean又是什麼意思呢? * 7:把集合轉換為數組 *      Object[] toArray() */public class CollectionDemo {    public static void main(String[] args) {           // 測試不帶All的方法        // 建立集合對象        // Collection c = new Collection(); //錯誤,因為介面不能執行個體化        Collection c = new ArrayList();        // boolean add(Object obj):添加一個元素        // System.out.println("add:"+c.add("hello"));        c.add("hello");        c.add("world");        c.add("java");        // void clear():移除所有元素        // c.clear();        // boolean remove(Object o):移除一個元素        // System.out.println("remove:" + c.remove("hello"));        // System.out.println("remove:" + c.remove("javaee"));        // boolean contains(Object o):判斷集合中是否包含指定的元素        // System.out.println("contains:"+c.contains("hello"));        // System.out.println("contains:"+c.contains("android"));        // boolean isEmpty():判斷集合是否為空白        // System.out.println("isEmpty:"+c.isEmpty());        //int size():元素的個數        System.out.println("size:"+c.size());        System.out.println("c:" + c);    }}
package cn.itcast_01;import java.util.ArrayList;import java.util.Collection;/* * boolean addAll(Collection c):添加一個集合的元素 * boolean removeAll(Collection c):移除一個集合的元素(是一個還是所有) * boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素(是一個還是所有) * boolean retainAll(Collection c):兩個集合都有的元素?思考元素去哪了,返回的boolean又是什麼意思呢? */public class CollectionDemo2 {    public static void main(String[] args) {        // 建立集合1        Collection c1 = new ArrayList();        c1.add("abc1");        c1.add("abc2");        c1.add("abc3");        c1.add("abc4");        // 建立集合2        Collection c2 = new ArrayList();//      c2.add("abc1");//      c2.add("abc2");//      c2.add("abc3");//      c2.add("abc4");        c2.add("abc5");        c2.add("abc6");        c2.add("abc7");        // boolean addAll(Collection c):添加一個集合的元素        // System.out.println("addAll:" + c1.addAll(c2));        //boolean removeAll(Collection c):移除一個集合的元素(是一個還是所有)        //只要有一個元素被移除了,就返回true。        //System.out.println("removeAll:"+c1.removeAll(c2));        //boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素(是一個還是所有)        //只有包含所有的元素,才叫包含        // System.out.println("containsAll:"+c1.containsAll(c2));        //boolean retainAll(Collection c):兩個集合都有的元素?思考元素去哪了,返回的boolean又是什麼意思呢?        //假設有兩個集合A,B。        //A對B做交集,最終的結果儲存在A中,B不變。        //傳回值表示的是A是否發生過改變。        System.out.println("retainAll:"+c1.retainAll(c2));        System.out.println("c1:" + c1);        System.out.println("c2:" + c2);    }}
package cn.itcast_01;import java.util.ArrayList;import java.util.Collection;/* * 集合的遍曆。其實就是依次擷取集合中的每一個元素。 *  * Object[] toArray():把集合轉成數組,可以實現集合的遍曆 */public class CollectionDemo3 {    public static void main(String[] args) {        // 建立集合對象        Collection c = new ArrayList();        // 添加元素        c.add("hello"); // Object obj = "hello"; 向上轉型        c.add("world");        c.add("java");        // 遍曆        // Object[] toArray():把集合轉成數組,可以實現集合的遍曆        Object[] objs = c.toArray();        for (int x = 0; x < objs.length; x++) {            // System.out.println(objs[x]);            // 我知道元素是字串,我在擷取到元素的的同時,還想知道元素的長度。            // System.out.println(objs[x] + "---" + objs[x].length());            // 上面的實現不了,原因是Object中沒有length()方法            // 我們要想使用字串的方法,就必須把元素還原成字串            // 向下轉型            String s = (String) objs[x];            System.out.println(s + "---" + s.length());        }    }}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

java之集合Collection 3個例子

聯繫我們

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