集合(collection接口)--java21(05/01/2016)

1.存儲對象可以考慮:①數(shù)組 ②集合
2.數(shù)組存儲對象的特點:Student[] stu = new Student[20]; stu[0] = new Student();...
>弊端:①一旦創(chuàng)建苍蔬,其長度不可變洽损。②真實的數(shù)組存放的對象的個數(shù)是不可知的。
3.集合
>Collection接口
>|------List接口:存儲有序的天试,可以重復的元素
>|------ArrayList(主要的實現(xiàn)類)萧朝、 LinkedList(頻繁的插入腊尚、刪除操作)、Vector(古老的實現(xiàn)類庵佣、線程安全的)
>|------Set接口:存儲無序的歉胶,不可重復的元素
>|------HashSet、LinkedHashSet巴粪、TreeSet
>Map接口:存儲“鍵-值”對的數(shù)據(jù)
>|------HashMap通今、LinkedHashMap粥谬、TreeMap、Hashtable(子類:Properties)
例子:

package com.atguigu.java1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;

import org.junit.Test;


public class TestCollection {
    @Test
    public void testCollection3(){
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add("AA");
        coll.add(new Date());
        coll.add("BB");
        coll.add(new Person("MM",23));
                
        Collection coll1 = new ArrayList();
        coll1.add(123);
        coll1.add(new String ("AA"));
        
        //10.removeAll(Collection coll):從當前集合中刪除包含在coll中的元素
        coll.removeAll(coll1);
        System.out.println(coll);//[Tue Jan 05 10:35:12 CST 2016, BB, Person [name=MM, age=23]]
        //11.equals(Object obj):判斷集合中所有的元素是否完全相等
        Collection coll2 = new ArrayList();
        coll2.add(123);
        coll2.add(new String ("AA"));
        System.out.println(coll1.equals(coll2));//true
        //12.hashCode
        System.out.println(coll.hashCode());//-864324383
        System.out.println();
        //13.toArray():將集合轉(zhuǎn)化為數(shù)組
        Object[] obj = coll.toArray();
        for (int i = 0; i < obj.length; i++) {
            System.out.println(obj[i]);
        }
        //14.iterator():返回一個Iterator接口實現(xiàn)類的對象,進而實現(xiàn)集合的遍歷辫塌!
        Iterator iterator = coll.iterator();
        //方式一:不用 
        /*System.out.println(iterator.next());
        System.out.println(iterator.next());
        System.out.println(iterator.next());*/
        //方式二:不用
        /*for(int i = 0; i < coll.size();i++){
            System.out.println(iterator.next());
        }*/
        //方式三:使用
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }
        
        
    @Test
    public void testCollection2(){
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add("AA");
        coll.add(new Date());
        coll.add("BB");
        Person p = new Person("MM",23);
        coll.add(p);
        System.out.println(coll);
        
        //6.contains(Object obj):判斷集合中是否包含指定的obj元素漏策。如果包含,返回true臼氨。反之返回false
        boolean b1 = coll.contains(123);
        b1 = coll.contains("AA");
        System.out.println(b1);//true
        boolean b2 = coll.contains(p);
        System.out.println(b2);//true       
        //7.containsAll(Connection coll):判斷當前集合中是否包含coll中所有的元素
        Collection coll1 = new ArrayList();
        coll1.add(123);
        coll1.add("AA");
        boolean b3 = coll.containsAll(coll1);
        System.out.println("#"+b3); //#true
        //8.retainAll(Collection coll):求當前集合與coll的共有的元素掺喻,返回給當前集合
        coll.retainAll(coll1);
        System.out.println(coll);
        //9.remove(Object obj);刪除集合中的obj元素。若刪除成功储矩,返回true感耙,否則返回false。
        boolean b4 = coll.remove("BB");
        System.out.println(b4); 
    }

    @Test
    public void testCollection1(){
        Collection coll = new ArrayList();
        //1.size():返回集合中元素的個數(shù)
        System.out.println(coll.size());//輸出結(jié)果0
        //2.add(Object obj):向集合中添加一個元素
        coll.add(123);
        coll.add("AA");
        coll.add(new Date());
        coll.add("BB");
        System.out.println(coll.size());//輸出結(jié)果4
        //3.addAll(Collection coll):將形參coll1中包含的所有元素添加到當前集合coll中
        Collection coll1 =Arrays.asList(1,2,3);//asList()將數(shù)組轉(zhuǎn)化成集合
        coll.addAll(coll1);
        System.out.println(coll.size());
        //查看集合元素
        System.out.println(coll);//輸出結(jié)果[123, AA, Wed Dec 30 17:58:01 CST 2015, BB, 1, 2, 3]
        //4.isEmpty():判斷集合是否為空
        System.out.println(coll.isEmpty());//false
        //5.clear():清空所有元素
        coll.clear();
        System.out.println(coll.isEmpty());//true
    
    }
}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末持隧,一起剝皮案震驚了整個濱河市即硼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舆蝴,老刑警劉巖谦絮,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洁仗,居然都是意外死亡层皱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門赠潦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叫胖,“玉大人,你說我怎么就攤上這事她奥∥驮觯” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵哩俭,是天一觀的道長绷跑。 經(jīng)常有香客問我,道長凡资,這世上最難降的妖魔是什么砸捏? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮隙赁,結(jié)果婚禮上垦藏,老公的妹妹穿的比我還像新娘。我一直安慰自己伞访,他們只是感情好掂骏,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厚掷,像睡著了一般弟灼。 火紅的嫁衣襯著肌膚如雪级解。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天袜爪,我揣著相機與錄音蠕趁,去河邊找鬼薛闪。 笑死辛馆,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的豁延。 我是一名探鬼主播昙篙,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诱咏!你這毒婦竟也來了苔可?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤袋狞,失蹤者是張志新(化名)和其女友劉穎焚辅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苟鸯,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡同蜻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了早处。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湾蔓。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖砌梆,靈堂內(nèi)的尸體忽然破棺而出默责,到底是詐尸還是另有隱情,我是刑警寧澤咸包,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布桃序,位于F島的核電站,受9級特大地震影響烂瘫,放射性物質(zhì)發(fā)生泄漏媒熊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一忱反、第九天 我趴在偏房一處隱蔽的房頂上張望泛释。 院中可真熱鬧,春花似錦温算、人聲如沸怜校。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茄茁。三九已至魂贬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裙顽,已是汗流浹背付燥。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留愈犹,地道東北人键科。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像漩怎,于是被迫代替她去往敵國和親勋颖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法勋锤,類相關的語法饭玲,內(nèi)部類的語法,繼承相關的語法叁执,異常的語法茄厘,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 面向?qū)ο笾饕槍γ嫦蜻^程。 面向過程的基本單元是函數(shù)谈宛。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,046評論 0 4
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法次哈,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,214評論 0 2
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,805評論 0 11
  • 早起蹲廁的時候亿乳,一刷新聞,誅仙手游剛開始內(nèi)測径筏。我下意識地看了眼臥房中的太太葛假,暗自慶幸沒被她發(fā)現(xiàn)。我們家這位滋恬,但凡嗅...
    折疊九千里閱讀 361評論 0 7