大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java編程中l(wèi)ist集合的詳解

Java編程中l(wèi)ist集合的詳解

更新時間:2020-07-06 16:33:53 來源:動力節(jié)點 瀏覽2196次

List接口

該接口定義的元素是有序的且可重復的。相當于數(shù)學里面的數(shù)列,有序可重復

booleanaddAll(intindex,Collection<?extendsE>c);將指定集合中所有元素,插入至本集合第index個元素之后defaultvoidreplaceAll(UnaryOperatoroperator);替換集合中每一個元素值defaultvoidsort(Comparator<?superE>c);給集合中的元素進行排序Eget(intindex);獲取集合中第index個元素Eset(intindex,Eelement);將集合中第index個元素替換成指定元素voidadd(intindex,Eelement);向集合中第index個位置添加一個元素Eremove(intindex);移除集合中第index個元素intindexOf(Objecto);得到指定元素在集合中的位置(第一次出現(xiàn))intlastIndexOf(Objecto);得到指定元素在集合中的位置(最后一次出現(xiàn))ListIteratorlistIterator();返回ListIteratorListIteratorlistIterator(intindex);返回ListIterator,并設置當前位置ListsubList(intfromIndex,inttoIndex);截取List,從fromIndex到toIndex

List子類

AbstractList抽象類

該類實現(xiàn)了基本的List集合功能,如果實現(xiàn)的是只讀的List集合,繼承自該抽象類的子類只需要實現(xiàn)get(intindex)和size()兩個方法,如果是可操作的List集合,則必須重寫add和set方法,否則執(zhí)行add和set時會拋出UnsupportedOperationException異常

AbstractList抽象類中的迭代器通過get(intindex)訪問元素,通過remove(Objecto)刪除元素。

AbstractList抽象類包含了一個SubList子類,該子類通過包裝一個AbstractList抽象類對象實現(xiàn)元素的添加、刪除等功能。

該抽象類主要實現(xiàn)了如下方法:

booleanadd(Ee);添加元素e,內(nèi)部調(diào)用add(intindex,Eelement)實現(xiàn)intindexOf(Objecto);得到指定元素第一次在集合中的位置,內(nèi)部通過List迭代器實現(xiàn)intlastIndexOf(Objecto);得到指定元素在集合中的位置(最后一次出現(xiàn)),內(nèi)部List迭代器實現(xiàn),注意此處是從后往前迭代voidclear();清空List集合中的元素,內(nèi)部通過List迭代器實現(xiàn)booleanaddAll(intindex,Collection<?extendsE>c);插入集合c中所有元素,內(nèi)部調(diào)用add(intindex,Eelement)實現(xiàn)Iteratoriterator();返回一個迭代器對象,AbstractList抽象類內(nèi)部實現(xiàn)了一個迭代器ListIteratorlistIterator();返回一個List迭代器對象,AbstractList抽象類內(nèi)部實現(xiàn)了一個List迭代器booleanequals(Objecto);重寫Object的equals方法,內(nèi)部先判斷是否同一個對象,是返回true,否則判斷o是否是List對象,不是返回false,是的話迭代比較兩個集合中每一個元素是否一致,都一致返回trueinthashCode();內(nèi)部迭代集合中每一個元素計算出hashcode值ListsubList(intfromIndex,inttoIndex);得到List集合的子集合,內(nèi)部通過構造AbstractList內(nèi)部的SubList實現(xiàn)

ArrayList

ArrayList繼承自AbstractList實現(xiàn)了List中所有方法,該集合可以插入任何元素包括null元素。

ArrayList內(nèi)部使用數(shù)組保存元素,他的size、isEmpty、get、set、add等操作都是常數(shù)時間。在獲取元素時會比LinkedList更有優(yōu)勢。

Arraylist有一個初始的大小,該大小會隨著元素的增加而增長。

ArrayList不是線程安全的,在多線程環(huán)境下使用時需要注意,我們可以通過Collections.synchronizedList(newArrayList(…));操作得到一個線程安全的ArrayList

ArrayList中的迭代器在List集合結(jié)果變化后,我們調(diào)用迭代器中的方法時會快速拋出ConcurrentModificationException異常通知程序,以免造成損失。

ArrayList的擴展策略:

在初始集合為空時,加入元素時會初始化Math.max(DEFAULT_CAPACITY,minCapacity)個空間,即取插入元素個數(shù)和DEFAULT_CAPACITY中比較大的那個數(shù)

集合非空時插入元素,如果空間不夠時,則取原集合大小擴展2倍和最小需求大小中較大的那個進行擴展

ArrayList重寫了Iterator和ListIterator,內(nèi)部直接通過遍歷數(shù)組實現(xiàn)

ArrayList重寫了SubList類,該類直接通過訪問數(shù)組實現(xiàn)

ArrayList主要包括以下屬性:

transientObject[]elementData;該對象數(shù)組用于存放集合中的元素intsize;該屬性用于保存集合的大小transientintmodCount;記錄ArrayList修改的次數(shù),在集合迭代器中會使用該數(shù)字判斷迭代時集合是否修改過

ArrayList主要包含以下構造函數(shù):ArrayList(intinitialCapacity);構造初始大小為initialCapacity的集合對象ArrayList();構造一個空的數(shù)組元素ArrayList(Collection<?extendsE>c);使用傳入集合c構造一個集合對象

ArrayList主要包括以下函數(shù):

voidtrimToSize();將集合中數(shù)組大小恢復至當前集合大小,該操作可以壓縮集合使用空間voidensureCapacity(intminCapacity);通過傳入的minCapacity判斷集合是否需要擴展,需要的話則擴展數(shù)組大小,已足夠存放元素intindexOf(Objecto);得到指定元素第一次在集合中的位置,重寫了AbstractList類的方法,內(nèi)部直接遍歷元素數(shù)組實現(xiàn)intlastIndexOf(Objecto);同上Objectclone();重寫了clone方法,并且將元素數(shù)組復制一份出來,且將modCount致0,注意此處數(shù)組中元素并沒有clone,也就是說克隆后的集合和元集合使用同一份具體元素Object[]toArray();直接返回本集合中的數(shù)組Eget(intindex);直接訪問數(shù)組Eset(intindex,Eelement);直接設置數(shù)組元素值booleanadd(Ee);直接操作數(shù)組,想數(shù)組添加一個元素Eremove(intindex);直接操作數(shù)組booleanremove(Objecto);一樣遍歷數(shù)組,注意該操作會導致數(shù)組移動voidclear();遍歷將數(shù)組致空,同時設置size大小為0booleanaddAll(Collection<?extendsE>c);通過數(shù)組直接添加voidsort(Comparator<?superE>c);實現(xiàn)集合中元素排序功能,接收一個Comparator用以比較集合中元素的大小

Java編程中l(wèi)ist集合的詳解

Java技術內(nèi)容

Java中List集合:http://m.dabaquan.cn/tutorial_java_advance/637.html

以上就是動力節(jié)點java培訓機構的小編針對“Java編程中l(wèi)ist集合的詳解”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久草视频在线观 | 亚洲欧美日韩在线观看你懂的 | 欧美日韩永久久一区二区三区 | 国产精品99久久久久久人 | 鲁啊鲁啊鲁在线视频播放 | 激性欧美激情在线播放16页 | 性做久久久久久久久男女 | 欧美91精品久久久久网免费 | 午夜性a一级毛片 | 玖玖精品 | 奇米在线视频 | 中文一级毛片 | 久青草香蕉精品视频在线 | 欧美色爱综合网 | 日韩一区二区三区在线免费观看 | 爱爱毛片| 全毛片 | 亚洲日韩中文字幕 | 日韩在线播放中文字幕 | 午夜在线精品不卡国产 | 日韩五月天| 成人a毛片| 青青青青久久精品国产一百度 | 免费精品国产自产拍在 | 久久最近最新中文字幕大全 | 天天干天天操天天射 | 国产网站精品 | 欧美精品成人一区二区在线观看 | 久久在线精品 | 日韩综合区 | 91青青青| 欧美久久综合九色综合 | 国产成人精品日本亚洲语言 | 亚洲国产精品久久久久666 | 97高清国语自产拍免费 | 欧美在线一区二区三区 | 国产色婷婷精品免费视频 | 尤物视频一区二区 | 农村苗族一级特黄a大片 | 精品国产成人高清在线 | 97影院理论片在线观看 |