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

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

樂(lè)清 做網(wǎng)站 多少錢(qián)中國(guó)經(jīng)濟(jì)網(wǎng)人事

樂(lè)清 做網(wǎng)站 多少錢(qián),中國(guó)經(jīng)濟(jì)網(wǎng)人事,婚慶網(wǎng)站開(kāi)發(fā),溫州網(wǎng)站制作套餐一、集合 集合是數(shù)據(jù)容器。相較于數(shù)組集合具有以下幾個(gè)特點(diǎn): 數(shù)組一旦創(chuàng)建,長(zhǎng)度不可改變。集合的長(zhǎng)度會(huì)自動(dòng)擴(kuò)容。集合具有很多數(shù)組沒(méi)有的功能函數(shù)API數(shù)組元素的存儲(chǔ)特點(diǎn)單一,不同的集合有不同的存儲(chǔ)特點(diǎn)。 1. Collection頂層接口 Collect…

一、集合

集合是數(shù)據(jù)容器。相較于數(shù)組集合具有以下幾個(gè)特點(diǎn):

  • 數(shù)組一旦創(chuàng)建,長(zhǎng)度不可改變。集合的長(zhǎng)度會(huì)自動(dòng)擴(kuò)容。
  • 集合具有很多數(shù)組沒(méi)有的功能函數(shù)API
  • 數(shù)組元素的存儲(chǔ)特點(diǎn)單一,不同的集合有不同的存儲(chǔ)特點(diǎn)。

在這里插入圖片描述

1. Collection頂層接口

Collection表示一組對(duì)象,這些對(duì)象也稱為collection的元素。有的是有序的List, 有的是無(wú)序的Set。

Collection c = new ArrayList();//多態(tài)的方式創(chuàng)建一個(gè)Collection類

1.1增刪改查和其他操作

函數(shù)作用
add()添加元素
remove()刪除元素
contains()判斷是否包含
toArray()轉(zhuǎn)換成數(shù)組
clear()清空集合
size()獲取集合元素個(gè)數(shù)
retainAll()求兩個(gè)集合的交集
removeAll()求兩個(gè)集合的差集

1.2迭代器遍歷

函數(shù)作用
iterator()獲取當(dāng)前集合的迭代器對(duì)象
hasNext()判斷是否有下一個(gè)元素
next()取出下一個(gè)元素
remove()移除當(dāng)前元素
public void test1(){Collection c = new ArrayList();//添加元素c.add("tom");c.add("jack");c.add("rose");c.add("jerry");//獲取迭代器Iterator iterator = c.iterator();while(iterator.hasNext()){Object obj = iterator.next();System.out.println(obj);}}

1.3 foreach循環(huán)

foreach增強(qiáng)for循環(huán)是jdk5的新特性,通常用于遍歷數(shù)組和Collection集合。相較于for循環(huán),無(wú)法在遍歷過(guò)程中得到元素的下標(biāo),進(jìn)而無(wú)法直接修改元素,只能讀取元素,但語(yǔ)法形式更為簡(jiǎn)單。
底層是使用迭代器來(lái)實(shí)現(xiàn)的,只有實(shí)現(xiàn)了Iterable接口的類才能使用foreach()來(lái)進(jìn)行遍歷。Collection類繼承了Iterable接口,所以所有集合類都能夠使用foreach和Iterator迭代器來(lái)實(shí)現(xiàn)所有元素的遍歷。

注:實(shí)現(xiàn)了Iterator接口的類都可以使用foreach循環(huán)遍歷。

for(元素類型 變量 :數(shù)組或Collection集合對(duì)象){//循環(huán)體
}//遍歷數(shù)組
int[] arr = {11, 22, 33};
for(int i : arr){System.out.println(i);
}//遍歷集合與上述代碼類似,只是將數(shù)組名稱改為集合名稱

1.4 迭代器的快速失敗機(jī)制

在使用迭代器遍歷集合時(shí), 有外部代碼在同時(shí)修改元素集合,迭代器會(huì)迅速拋出ConcurrentModificationException。

例如,通常不允許一個(gè)線程在另一個(gè)線程迭代Collection時(shí)修改它。通常,在這些情況下,迭代的結(jié)果是不確定的。如果檢測(cè)到這種行為,一些Iterator實(shí)現(xiàn)(包括JRE提供的所有通用集合實(shí)現(xiàn))可能會(huì)選擇拋出此異常。這樣做的迭代器被稱為<快速失敗>迭代器,因?yàn)樗鼈兛焖俣蓛舻厥?#xff0c;而不是在未來(lái)不確定的時(shí)間冒任意的、不確定的行為的風(fēng)險(xiǎn)。

機(jī)制:當(dāng)創(chuàng)建迭代器時(shí),會(huì)使用變量modCount記錄當(dāng)前集合的修改次數(shù)。每次取出元素前都會(huì)檢查判斷該變量是否修改過(guò),如果修改過(guò),立即拋出異常。該機(jī)制并不能完全保證不會(huì)有外部代碼修改元素。

public void test1(){Collection c = new ArrayList();//添加元素c.add("tom");c.add("jack");c.add("rose");//倒數(shù)第二個(gè)不會(huì)拋出異常c.add("jerry");//獲取迭代器Iterator iterator = c.iterator();while(iterator.hasNext()){//遍歷Object obj = iterator.next();if("jack".equals(obj)){//c.remove(obj);//集合的remove方法//迭代器自身的remove方法iterator.remove();}//System.out.println(obj);}System.out.println(c);}

2. List子接口

Collection有兩個(gè)子接口,分別是List和Set。List集合的特點(diǎn)主要是以下幾點(diǎn):

  • 元素是有序的
  • 元素可以重復(fù),Set集合不允許重復(fù)
  • 可以通過(guò)索引訪問(wèn)元素

2.1 特有方法

List繼承了父類Collection的方法,此外特有的方法都是通過(guò)下標(biāo)找到指定位置來(lái)訪問(wèn)數(shù)據(jù)而增加的方法。

 //截取一個(gè)子集合List subList = list.subList(0,2);System.out.println("subList = " + subList);//獲取元素首次出現(xiàn)的位置int java = list.indexOf("java");System.out.println(java);//刪除指定索引位置的元素Object remove = list.remove(1);//返回被刪除的元素System.out.println("remove = " + remove);//替換指定位置的元素,返回被替換的元素Object java1 = list.set(1, "JAVA");System.out.println("java1 = " + java1);

2.2 List集合的遍歷

  • 迭代器遍歷:可以使用迭代器的remove方法進(jìn)行刪除。
  • 增強(qiáng)for循環(huán):無(wú)法修改集合里面的元素
  • 普通for循環(huán):可刪除,可修改。
  • ListIterator迭代器
  • 普通for循環(huán):

2.3 ListIterator迭代器

Iterator接口的子接口,增加了(添加元素、修改元素、判斷是否有上一個(gè)元素、取出上一個(gè)元素) 這幾個(gè)方法。并且它的構(gòu)造器可以定義遍歷的開(kāi)始位置。

//從第二個(gè)位置開(kāi)始遍歷
ListIterator iterator= new ListIterator(2);

查看是否有上一個(gè)元素:該方法是ListIterator特有的方法,使用該方法可以倒著遍歷整個(gè)List集合。

iterator.hasPrevious();

3. ArrayList類

使用空參構(gòu)造器創(chuàng)建對(duì)象,底層數(shù)組容量為0。第一次添加元素時(shí),初始化容量為10。當(dāng)放入數(shù)據(jù)大于初始容量時(shí),數(shù)組擴(kuò)容為原容量的1.5倍。增刪時(shí)如果容量不足,需要?jiǎng)討B(tài)擴(kuò)容,效率不高,查詢時(shí)直接通過(guò)數(shù)組索引查詢,效率高。

特點(diǎn):

  • 元素有序可重復(fù),可以通過(guò)索引訪問(wèn)
  • 底層結(jié)構(gòu):
    • 數(shù)組
    • 增刪慢,索引查找速度快

4. Vector類

底層也是數(shù)組實(shí)現(xiàn)的,線程安全的。ArrayList是線程不安全的。數(shù)組容量不足時(shí),容量擴(kuò)充到原先的2倍。效率低,不推薦使用。

在這里插入圖片描述

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

相關(guān)文章:

  • 日本做電子賀卡網(wǎng)站軟件推廣怎么賺錢(qián)
  • 蘇州做網(wǎng)站設(shè)計(jì)的公司網(wǎng)站推廣的渠道有
  • ui培訓(xùn)的課程都有哪些seo建站收費(fèi)地震
  • 東莞做網(wǎng)站一年費(fèi)用百度指數(shù)明星搜索排名
  • 阿里云做網(wǎng)站流程網(wǎng)絡(luò)營(yíng)銷戰(zhàn)略的內(nèi)容
  • 網(wǎng)站電子地圖怎么做百度保障中心人工電話
  • 網(wǎng)站建設(shè)站長(zhǎng)免費(fèi)網(wǎng)絡(luò)營(yíng)銷軟件
  • 繪本館網(wǎng)站建設(shè)百度服務(wù)
  • dw網(wǎng)站模板下載西安seo顧問(wèn)培訓(xùn)
  • 網(wǎng)站換ip對(duì)優(yōu)化有影響嗎武漢百度推廣公司
  • 活在永久免費(fèi)服務(wù)器西安seo優(yōu)化顧問(wèn)
  • 網(wǎng)站上怎樣做輪播圖競(jìng)價(jià)推廣專員
  • 邯鄲建設(shè)網(wǎng)站的公司廣告引流推廣平臺(tái)
  • 網(wǎng)站開(kāi)發(fā)與維護(hù)能做什么職業(yè)互聯(lián)網(wǎng)營(yíng)銷師證書(shū)含金量
  • 做網(wǎng)站必須要備案嗎免費(fèi)行情軟件網(wǎng)站大全
  • 怎么識(shí)別網(wǎng)站是用什么語(yǔ)言做的網(wǎng)絡(luò)推廣崗位職責(zé)和任職要求
  • 統(tǒng)計(jì)網(wǎng)站建設(shè)青島設(shè)計(jì)優(yōu)化公司
  • 電子商務(wù)網(wǎng)站項(xiàng)目預(yù)算選擇寧波seo優(yōu)化公司
  • 旅游網(wǎng)站制作過(guò)程教育培訓(xùn)機(jī)構(gòu)招生方案
  • div css做網(wǎng)站微信社群營(yíng)銷
  • ui設(shè)計(jì)和網(wǎng)站開(kāi)發(fā)官方網(wǎng)站營(yíng)銷
  • 泉州開(kāi)發(fā)網(wǎng)站的公司有哪些網(wǎng)站推廣費(fèi)用
  • 如何找網(wǎng)站互聯(lián)網(wǎng)公司
  • 企業(yè)信息管理系統(tǒng)er圖青島網(wǎng)絡(luò)優(yōu)化代理
  • 網(wǎng)站建設(shè)好如何開(kāi)通天堂網(wǎng)長(zhǎng)尾關(guān)鍵詞挖掘網(wǎng)站
  • 育才網(wǎng)站建設(shè)百度推廣一級(jí)代理商名單
  • 濟(jì)南中建設(shè)計(jì)院網(wǎng)站權(quán)重查詢工具
  • 成都網(wǎng)站建設(shè)小程序網(wǎng)絡(luò)營(yíng)銷的營(yíng)銷理念
  • 石家莊做家教網(wǎng)站軟文發(fā)布平臺(tái)排名
  • 寧波外貿(mào)公司seo網(wǎng)站管理