集合——list

關(guān)于集合的一些學習時候的代碼:

1.集合的共性方法————Collection

2.Collection的迭代器

3.List的特有方法

4.List的特有迭代器


1.集合的共性方法————Collection

privatestaticvoid demo01(){

? ? ? ? /*? ? ? ? *? ? 創(chuàng)建一個集合對象

? ? ? ? ? ? 集合只能保存對象類型,基本數(shù)據(jù)類型無法使用集合保存,如果需要保存基本數(shù)據(jù)類型

? ? ? ? ? ? 必須使用其包裝類型存儲 ->也就是用Integer而非int

? ? ? ? */? ? ? ? Collection coll =newArrayList<>();


? ? ? ? /*? ? ? ? * 添加

? ? ? ? */? ? ? ? coll.add(45);//會先將45轉(zhuǎn)換為integer類型黎烈,然后再存入集合中coll.add(35);

? ? ? ? Collection coll2 =newArrayList<>();

? ? ? ? coll2.add(77);

? ? ? ? coll2.add(88);

? ? ? ? coll2.add(45);

? ? ? ? coll2.addAll(coll);//addAll是將同一個類型和集合整個加在后面假瞬,不會對重復的元素刪除? ? ? ? System.out.println(coll2);


? ? ? ? //集合可以直接打印輸出System.out.println(coll);//[45, 35]/*? ? ? ? * 移除

? ? ? ? *///coll.clear();移除所有元素

? ? ? ? //coll.remove(45);//remove的是object哥捕,這里寫入45诚纸,會先將45裝箱成integer類型窜觉,對比移除

? ? ? ? //? ? ->只會從前往后移除第一個元素谷炸,后面同名的不會移除

? ? ? ? //coll2.removeAll(coll);//會將coll中所有元素刪除,同時禀挫,如果有coll2本身與coll相同的元素旬陡,也會一起刪除/*? ? ? ? * 獲取

? ? ? ? *///獲取集合長度的方法? ? ? ? System.out.println(coll.size());


? ? ? ? /*? ? ? ? * 判斷

? ? ? ? */? ? ? ? System.out.println(coll.isEmpty());//判斷是否為空System.out.println(coll.contains(45));//判斷是否有45這個元素,返回bool值System.out.println(coll2.containsAll(coll));//coll2是否包含coll的所有元素/*? ? ? ? *? ? 求交集(兩個集合中都有的元素)

? ? ? ? * (謹慎语婴!會改變調(diào)用函數(shù)的集合數(shù)據(jù)描孟,用來存相同的數(shù)據(jù))

? ? ? ? */? ? ? ? System.out.println(coll2.retainAll(coll));//coll2保留所有和coll相同的元素

? ? ? ? //? ? ->如果沒有相同值,則會將coll2置為空集System.out.println(coll2);//[45, 45, 35]/*? ? ? ? * 集合與數(shù)組的轉(zhuǎn)換

? ? ? ? */? ? ? ? Object[] arr = coll2.toArray();//如果轉(zhuǎn)成object類型砰左,無法使用一些方法(除非進行強轉(zhuǎn))? ?

? ? ? ? //也就是說? ? arr.toString是沒有的匿醒,但是arr2.toString是有的



? ? ? ? //指定類型轉(zhuǎn)換為數(shù)組

? ? ? ? //傳遞的參數(shù)數(shù)組對象,如果長度小于集合元素個數(shù)缠导,會默認按照元素個數(shù)來創(chuàng)建結(jié)果數(shù)組

? ? ? ? //如果給的參數(shù)數(shù)組的長度大于集合元素個數(shù)廉羔,沒有對應元素的數(shù)組空間會使用null來填充Integer[] arr2 = coll2.toArray(newInteger[1]);

? ? ? ? for(inti = 0; i < arr2.length; i++) {

? ? ? ? ? ? System.out.println(arr2[i]);

? ? ? ? }

? ? }




2.Collection的迭代器

privatestaticvoid demo02(){


? ? ? ? Collection coll =newArrayList<>();

? ? ? ? coll.add("d1");

? ? ? ? coll.add("d2");

? ? ? ? coll.add("d3");

? ? ? ? coll.add("d4");

? ? ? ? System.out.println(coll);///*? ? ? ? * 獲取每一個元素對象,需要使用專門的迭代器對象

? ? ? ? */? ? ? ? Iterator it = coll.iterator();//新建coll的迭代器對象//? ? ? ? System.out.println(it.next());一個next會輸出下一個值僻造,并不會一直輸出一個值? ? ? ? System.out.println(it.next());

? ? ? ? System.out.println(it.next());

? ? ? ? //通過迭代器對象的方法hasnext來判斷是否還有未獲取的元素while(it.hasNext()){

? ? ? ? ? ? //通過迭代器的next方法來獲取對應元素對象

? ? ? ? ? ? //String name = it.next();? ? ? ? ? ?

? ? ? ? ? ? System.out.println("這里是循環(huán)里");

? ? ? ? ? ? System.out.println(it.next());

? ? ? ? }


? ? ? ? //迭代元素的優(yōu)化憋他,官方的建議寫法/*? ? ? ? for (Iterator it2 = coll.iterator(); it2.hasNext();) {

? ? ? ? ? ? String string = (String) it2.next();

? ? ? ? ? ? System.out.println(string);? ? ? ? ? ? ? ? 優(yōu)點是it2用完就回收

? ? ? ? }*//*? ? ? ? * java為集合專門設(shè)計了一個遍歷的循環(huán)語句 增強for循環(huán)(foreach)

? ? ? ? */for (String string : coll) {


? ? ? ? }

? ? }


3.List的特有方法

privatestaticvoid demo03(){

? ? ? ? List list =newArrayList<>();


? ? ? ? /*? ? ? ? * 添加

? ? ? ? */? ? ? ? list.add("這是0");

? ? ? ? list.add("這會是1嗎");

? ? ? ? list.add(1, "它想插到位置1");//首先要有0號元素孩饼,之后便可以自由輸入位置插入,不然就會按照順序插入? ? ? ? System.out.println(list);

? ? ? ? //list.addAll(index, c);將另一個集合放入指定位置中/*? ? ? ? * 移除

? ? ? ? *///list.remove(1);//有返回值竹挡,返回的是被刪除的那個值

? ? ? ? //System.out.println(list);//System.out.println(list.remove(1));會打印出被移除的1號元素/*? ? ? ? * 獲取

? ? ? ? */? ? ? ? System.out.println(list.get(0));//獲取捣辆,但是不會移除System.out.println(list.indexOf("這會是1嗎"));//根據(jù)內(nèi)容找到下標,沒有就返回-1/*? ? ? ? * 修改

? ? ? ? */? ? ? ? list.set(0, "我把0號改了");//不是修改的對象此迅,是修改的指針? ? ? ? System.out.println(list);


? ? ? ? /*? ? ? ? * 獲取子集合

? ? ? ? */? ? ? ? System.out.println(list.subList(1,2));//從1開始獲取,在2之前結(jié)束->也就是不包含2? ? ? ? ? ?

? ? }


4.List的特有迭代器

privatestaticvoid demo04(){

? ? ? ? List list =newArrayList<>();

? ? ? ? list.add("這是0");

? ? ? ? list.add("這會是1嗎");

? ? ? ? list.add(1, "它想插到位置1");


? ? ? ? /*? ? ? ? * 默認迭代器

? ? ? ? *///? ? ? ? for (Iterator iterator = list.iterator(); iterator.hasNext();) {//? ? ? ? ? ? String string = (String) iterator.next();//? ? ? ? ? ? System.out.println(string);//? ? ? ? }/*? ? ? ? * 使用特有的列表迭代器

? ? ? ? */for(ListIterator it = list.listIterator();it.hasNext();){

? ? ? ? ? ? String str = it.next();

? ? ? ? ? ? System.out.println(str);

? ? ? ? ? ? if(str.equals("這是0")){

? ? ? ? ? ? ? ? //it.set("HAHA");

? ? ? ? ? ? ? ? //it.remove();it.add("HAHA");//[這是0, HAHA, 它想插到位置1, 這會是1嗎]? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println(list);


? ? ? ? //反序迭代

? ? ? ? //迭代器對象獲取的默認方式是設(shè)置的從下標為0的位置開始for(ListIterator it = list.listIterator(list.size()); it.hasPrevious();) {

? ? ? ? ? ? String str = it.previous();//不需要list.size()-1是因為hasprevious是找前一位是否有元素? ? ? ? ? ? System.out.println(str);

? ? ? ? }


? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旧巾,一起剝皮案震驚了整個濱河市耸序,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鲁猩,老刑警劉巖坎怪,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異廓握,居然都是意外死亡搅窿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門隙券,熙熙樓的掌柜王于貴愁眉苦臉地迎上來男应,“玉大人,你說我怎么就攤上這事娱仔°迤” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵牲迫,是天一觀的道長耐朴。 經(jīng)常有香客問我,道長盹憎,這世上最難降的妖魔是什么筛峭? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮陪每,結(jié)果婚禮上影晓,老公的妹妹穿的比我還像新娘。我一直安慰自己奶稠,他們只是感情好俯艰,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锌订,像睡著了一般竹握。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辆飘,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天啦辐,我揣著相機與錄音谓传,去河邊找鬼。 笑死芹关,一個胖子當著我的面吹牛续挟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侥衬,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼诗祸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轴总?” 一聲冷哼從身側(cè)響起直颅,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怀樟,沒想到半個月后功偿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡往堡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年械荷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虑灰。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡吨瞎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘩缆,到底是詐尸還是另有隱情关拒,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布庸娱,位于F島的核電站着绊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏熟尉。R本人自食惡果不足惜归露,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斤儿。 院中可真熱鬧剧包,春花似錦、人聲如沸往果。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陕贮。三九已至堕油,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掉缺。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工卜录, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眶明。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓艰毒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搜囱。 傳聞我的和親對象是個殘疾皇子丑瞧,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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