中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

合肥網(wǎng)站建設(shè)-中國(guó)互聯(lián)正安縣網(wǎng)站seo優(yōu)化排名

合肥網(wǎng)站建設(shè)-中國(guó)互聯(lián),正安縣網(wǎng)站seo優(yōu)化排名,六盤(pán)水住房和城鄉(xiāng)建設(shè)部網(wǎng)站,域名問(wèn)題網(wǎng)站不更新一、單列集合Collection List系列集合特點(diǎn):添加的元素是有序(存和取的順序一致)、可重復(fù)、有索引 Set系列集合特點(diǎn):添加的元素是無(wú)序(存和取的順序有可能不一致)、不重復(fù)、無(wú)索引 Collection是所有單列集合…

一、單列集合Collection

List系列集合特點(diǎn):添加的元素是有序(存和取的順序一致)、可重復(fù)、有索引

Set系列集合特點(diǎn):添加的元素是無(wú)序(存和取的順序有可能不一致)、不重復(fù)、無(wú)索引

Collection是所有單列集合的祖宗接口,其功能所有的單列集合都能繼承使用。

import java.util.ArrayList;
import java.util.Collection;public class Main {public static void main(String[] args){//利用多態(tài)創(chuàng)建對(duì)象//對(duì)于成員變量:在子類(lèi)的對(duì)象中,會(huì)把父類(lèi)的成員變量繼承下去。多態(tài)創(chuàng)建的對(duì)象是采用父類(lèi)變量。//對(duì)于成員方法:如果子類(lèi)對(duì)方法進(jìn)行了重寫(xiě),那么在繼承時(shí),虛方法表中會(huì)覆蓋父類(lèi)的方法,因此多態(tài)創(chuàng)建的對(duì)象采用子類(lèi)方法。Collection<String> collection=new ArrayList<>();//1、添加元素//對(duì)于同為Collection子類(lèi)的 List系列集合 和 Set系列集合 兩者都繼承了父類(lèi)種的 add 方法//如果是通過(guò)List系列集合的對(duì)象調(diào)用 add 方法,則方法永遠(yuǎn)返回true(添加成功),因?yàn)長(zhǎng)ist系列集合允許元素重復(fù)//如果是通過(guò)Set系列集合的對(duì)象調(diào)用 add 方法,則方法會(huì)在元素不重復(fù)的情況下返回true(添加成功),否則返回false,因?yàn)镾et系列集合不允許元素重復(fù)collection.add("abc");collection.add("def");collection.add("ghi");System.out.println(collection); //[abc, def, ghi]//2、清空//       collection.clear();//       System.out.println(collection); //[]//3、刪除//因?yàn)镾et系列集合具有 無(wú)序 的特點(diǎn),因此在父類(lèi)中定義的remove方法是共性的方法——既無(wú)法通過(guò)索引刪除,只能通過(guò)元素的對(duì)象刪除。//方法返回的是boolean類(lèi)型的值,刪除成功(要?jiǎng)h除的元素存在)則返回true,反之返回false。System.out.println(collection.remove("abc")); //trueSystem.out.println(collection);  //[def, ghi]//4、判斷元素是否包含//contains方法底層是依賴(lài)equals方法進(jìn)行判斷是否存在的//如果集合中存儲(chǔ)的是自定義對(duì)象,也想通過(guò)contains方法判斷是否包含,在Javabean中一定要重寫(xiě)Equals方法//因?yàn)閷?duì)于引用數(shù)據(jù)類(lèi)型,equals方法比較的是元素的地址值boolean result1=collection.contains("def");boolean result2=collection.contains("defg");System.out.println(result1);   //trueSystem.out.println(result2);   //false//5、判斷集合是否為空boolean result3=collection.isEmpty();System.out.println(result3); //false//6、判斷集合長(zhǎng)度System.out.println(collection.size());  //2collection.add("abc");System.out.println(collection.size());  //3}}

二、Collection遍歷方式

(一)迭代器遍歷

特點(diǎn):不依賴(lài)索引

迭代器在Java中的類(lèi)是Iterator,迭代器是集合專(zhuān)用的遍歷方式。

?注意點(diǎn):

①代器遍歷結(jié)束后,指針不會(huì)復(fù)位,若需要再次遍歷,只能再創(chuàng)建一個(gè)新的迭代器對(duì)象

②循環(huán)中只能用一次next方法(可以用一個(gè)變量進(jìn)行記錄)

③迭代器遍歷時(shí),不能用集合的方法進(jìn)行增加或者刪除(若要進(jìn)行刪除操作,需要用迭代器對(duì)象調(diào)用remove方法,增加目前沒(méi)有辦法)

④如果當(dāng)前位置沒(méi)有元素,還要強(qiáng)行獲取,會(huì)報(bào)錯(cuò),報(bào)錯(cuò)類(lèi)型位:NoSuchElementException

import java.util.ArrayList;
import java.util.Iterator;public class Main {public static void main(String[] args){ArrayList<String> list=new ArrayList<>();list.add("三");list.add("連");list.add("外");list.add("加");list.add("轉(zhuǎn)");list.add("發(fā)");list.add("了");list.add("嗎");list.add("?");list.add("?");Iterator<String> it=list.iterator(); //返回迭代器對(duì)象,默認(rèn)指向集合的0索引boolean flag=it.hasNext();System.out.println(flag);String str=it.next();//獲取當(dāng)前元素,并將迭代器對(duì)象移向下一個(gè)位置System.out.println(str);// 三str=it.next();System.out.println(str);// 連}
}
import java.util.ArrayList;
import java.util.Iterator;public class Main {public static void main(String[] args){ArrayList<String> list=new ArrayList<>();list.add("三");list.add("連");list.add("外");list.add("加");list.add("轉(zhuǎn)");list.add("發(fā)");list.add("了");list.add("嗎");list.add("?");list.add("?");Iterator<String> it=list.iterator(); //返回迭代器對(duì)象,默認(rèn)指向集合的0索引boolean flag=it.hasNext();System.out.println(flag);//使用迭代器進(jìn)行遍歷while(it.hasNext()){String str=it.next();System.out.print(str+" ");//三 連 外 加 轉(zhuǎn) 發(fā) 了 嗎 ? ? }}
}

(二)增強(qiáng)for遍歷

①增強(qiáng)for的底層就是迭代器,為了簡(jiǎn)化迭代器的代碼書(shū)寫(xiě)的。

②是JDK5之后出現(xiàn)的,內(nèi)部原理就是一個(gè)Iterator迭代器。

③所有的單列集合和數(shù)組才能用增強(qiáng)for進(jìn)行遍歷。

格式:

例:

import java.util.ArrayList;
import java.util.Collection;public class Main {public static void main(String[] args){//集合的三種遍歷方式:迭代器遍歷 增強(qiáng)for循環(huán)遍歷 lambda表達(dá)式遍歷Collection<String> list=new ArrayList<>();list.add("三");list.add("連");list.add("外");list.add("加");list.add("轉(zhuǎn)");list.add("發(fā)");list.add("了");list.add("嗎");list.add("?");list.add("?");//增強(qiáng)for循環(huán)遍歷//快速生成方式: list.for  (集合名字.for)for(String s:list){System.out.print(s+" ");}}
}

注意點(diǎn):?

修改增強(qiáng)for中的變量,不會(huì)改變集合中原本的數(shù)據(jù)(遍歷過(guò)程中是用第三方變量記錄集合中的元素,修改增強(qiáng)for中的變量不影響集合元素)?

(三)Lambda表達(dá)式遍歷

例:

import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;public class Main {public static void main(String[] args){//集合的三種遍歷方式:迭代器遍歷 增強(qiáng)for循環(huán)遍歷 lambda表達(dá)式遍歷Collection<String> list=new ArrayList<>();list.add("三");list.add("連");list.add("外");list.add("加");list.add("轉(zhuǎn)");list.add("發(fā)");list.add("了");list.add("嗎");list.add("?");list.add("?");//增強(qiáng)for循環(huán)遍歷for(String s:list){System.out.print(s+" ");}System.out.println();System.out.println("________________________");//使用匿名內(nèi)部類(lèi)的形式遍歷list.forEach(new Consumer<String>() {@Override//s依次表示集合中的每一個(gè)數(shù)據(jù)//方法底層也是遍歷集合,依次得到每一個(gè)元素,把得到的每一個(gè)元素,傳遞給下面的accept方法//s依次表示集合中的每一個(gè)數(shù)據(jù)public void accept(String s) {System.out.print(s+" ");}});System.out.println();System.out.println("___________________________");//使用Lambda表達(dá)式簡(jiǎn)化匿名內(nèi)部類(lèi)方法list.forEach(s-> System.out.print(s+" "));}
}

(四)總結(jié)

三、List系列集合

特點(diǎn):有序、有索引、可重復(fù)

List集合方法:

①Collection的方法都繼承了

②List集合有索引,有很多關(guān)于索引操作的方法:

關(guān)于remove方法的問(wèn)題:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;public class Main {public static void main(String[] args){//List系列集合List<Integer> list1=new ArrayList<>();list1.add(1);list1.add(2);list1.add(3);//若想要?jiǎng)h除元素1//list1.remove(1); 會(huì)判斷1為集合的索引而不是元素//正確方法list1.remove((Integer) 1);System.out.println(list1);  //[2, 3]}
}

原因:remove方法在調(diào)用時(shí),發(fā)生了重載現(xiàn)象,默認(rèn)優(yōu)先調(diào)用實(shí)參和形參類(lèi)型一致的方法。

方法示例代碼:

import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args){//List系列集合//因?yàn)長(zhǎng)ist類(lèi)是一個(gè)接口類(lèi),所以不能直接創(chuàng)建接口類(lèi)的對(duì)象//在這邊只能創(chuàng)建一個(gè)List的實(shí)現(xiàn)類(lèi)的對(duì)象List<String> list=new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); //[aaa, bbb, ccc, ddd]// add(int index,E element)  在指定索引出插入指定的元素list.add(0,"fff");System.out.println(list); //[fff, aaa, bbb, ccc, ddd]System.out.println("__________________");//E remove(int index) 刪除指定索引處的元素,返回被刪除的元素String remove=list.remove(2);System.out.println(remove); //bbbSystem.out.println(list);  //[fff, aaa, ccc, ddd]// E set(int index,E element)  修改指定索引處的元素,將被修改處的原元素返回System.out.println("_____________________");String set=list.set(0,"hahaha");System.out.println(set);   //fffSystem.out.println(list);  //[hahaha, aaa, ccc, ddd]System.out.println("_________________");//E get(int index) 返回指定索引處的元素String get=list.get(0);System.out.println(get);  //hahaha}
}

List集合遍歷方式:

示例代碼:

import java.util.*;public class Main {public static void main(String[] args){//List系列集合遍歷方法List<String> list=new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); //[aaa, bbb, ccc, ddd]System.out.println("__________________________");//1、迭代器遍歷//創(chuàng)建迭代器對(duì)象Iterator<String> it=list.iterator();System.out.print("迭代器遍歷: ");while(it.hasNext()){String str=it.next();System.out.print(str+" ");}System.out.println();System.out.println("________________");//2、增強(qiáng)for遍歷System.out.print("增強(qiáng)for遍歷:");for (String s : list) {System.out.print(s+" ");}System.out.println();System.out.println("______________________");//3、Lambda表達(dá)式遍歷System.out.print("Lambda表達(dá)式遍歷:");list.forEach(s-> System.out.print(s+" "));System.out.println();System.out.println("___________________");//4、普通for循環(huán)遍歷System.out.print("普通for循環(huán)遍歷:");for(int i=0;i<list.size();i++){System.out.print(list.get(i)+" ");}System.out.println();System.out.println("_________________________");//5、列表迭代器遍歷//創(chuàng)建列表迭代器對(duì)象//比迭代器多了一個(gè)功能: 能夠在遍歷的同時(shí)添加元素(之前只能用迭代器的remove方法刪除元素)ListIterator<String> lit=list.listIterator();System.out.print("列表迭代器遍歷: ");while(lit.hasNext()){String str=lit.next();if("ddd".equals(str)){lit.add("qqq");}System.out.print(str+" ");  //aaa bbb ccc ddd }System.out.println();System.out.println(list); //[aaa, bbb, ccc, ddd, qqq]}
}

五種方法對(duì)比:

http://www.risenshineclean.com/news/48674.html

相關(guān)文章:

  • 保險(xiǎn)公司網(wǎng)站建設(shè)方案今日頭條最新消息
  • 創(chuàng)建網(wǎng)站的快捷方式競(jìng)價(jià)托管代運(yùn)營(yíng)公司
  • 網(wǎng)站收錄下降windows優(yōu)化大師是哪個(gè)公司的
  • 北京網(wǎng)站制作與網(wǎng)站設(shè)計(jì)市場(chǎng)推廣工作內(nèi)容
  • 免費(fèi)域名注冊(cè)網(wǎng)站怎么登錄優(yōu)化網(wǎng)站價(jià)格
  • 網(wǎng)站子欄目設(shè)計(jì)網(wǎng)站注冊(cè)域名
  • asp汽車(chē)租憑網(wǎng)站源碼營(yíng)銷(xiāo)知識(shí)和技巧
  • 成武縣住房和城鄉(xiāng)建設(shè)廳網(wǎng)站百度信息流推廣和搜索推廣
  • 做批發(fā)的有哪些網(wǎng)站百度手機(jī)助手下載安卓版
  • 做網(wǎng)站的不給源文件seo關(guān)鍵詞優(yōu)化推廣
  • 做網(wǎng)站需提供什么資料鄭州百度推廣公司
  • 珠海市區(qū)工商年報(bào)在哪個(gè)網(wǎng)站做點(diǎn)擊精靈seo
  • 做ui必要的網(wǎng)站百度的相關(guān)搜索
  • 發(fā)布懸賞任務(wù)的推廣平臺(tái)關(guān)鍵詞優(yōu)化的五個(gè)步驟
  • 做網(wǎng)站需要什么執(zhí)照關(guān)鍵詞搜索量查詢(xún)工具
  • 杭州建設(shè)企業(yè)網(wǎng)站的品牌推廣和品牌營(yíng)銷(xiāo)
  • 武漢悠牛網(wǎng)網(wǎng)站建設(shè)微信廣告投放收費(fèi)標(biāo)準(zhǔn)
  • 鄭州網(wǎng)站設(shè)計(jì)培訓(xùn)百度推廣管理平臺(tái)登錄
  • 公裝網(wǎng)站怎么做全球搜是什么公司
  • 做網(wǎng)頁(yè)賺錢(qián)的網(wǎng)站小程序推廣運(yùn)營(yíng)的公司
  • 做百度推廣一定要有自已網(wǎng)站濟(jì)南seo優(yōu)化外包服務(wù)公司
  • 免費(fèi)瀏覽網(wǎng)站的軟件優(yōu)化關(guān)鍵詞具體要怎么做
  • 做網(wǎng)站屬于什么行業(yè)網(wǎng)絡(luò)營(yíng)銷(xiāo)的平臺(tái)有哪些
  • 軟件工程師需要具備哪些能力關(guān)鍵詞排名seo
  • Wordpress 點(diǎn)擊跟蹤深圳seo顧問(wèn)
  • 定制程序網(wǎng)站鄭州seo哪家專(zhuān)業(yè)
  • 海爾公司網(wǎng)站建設(shè)現(xiàn)狀廚師培訓(xùn)機(jī)構(gòu)
  • 企業(yè)單頁(yè)網(wǎng)站模板百度賬號(hào)中心官網(wǎng)
  • 幫境外賭場(chǎng)做網(wǎng)站是否有風(fēng)險(xiǎn)交換友情鏈接的網(wǎng)站標(biāo)準(zhǔn)是什么
  • 網(wǎng)站建設(shè)哪家好中國(guó)新聞