黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

Java編程中list集合的詳解

更新時間:2020-07-06 16:33:53 來源:動力節點 瀏覽2261次

List接口

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

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);得到指定元素在集合中的位置(第一次出現)intlastIndexOf(Objecto);得到指定元素在集合中的位置(最后一次出現)ListIteratorlistIterator();返回ListIteratorListIteratorlistIterator(intindex);返回ListIterator,并設置當前位置ListsubList(intfromIndex,inttoIndex);截取List,從fromIndex到toIndex

List子類

AbstractList抽象類

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

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

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

該抽象類主要實現了如下方法:

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

ArrayList

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

ArrayList內部使用數組保存元素,他的size、isEmpty、get、set、add等操作都是常數時間。在獲取元素時會比LinkedList更有優勢。

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

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

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

ArrayList的擴展策略:

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

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

ArrayList重寫了Iterator和ListIterator,內部直接通過遍歷數組實現

ArrayList重寫了SubList類,該類直接通過訪問數組實現

ArrayList主要包括以下屬性:

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

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

ArrayList主要包括以下函數:

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

Java編程中list集合的詳解

Java技術內容

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美人与动交tv | 天天爱天天做久久天天狠狼 | 欧美日韩在线视频一区 | a级在线免费 | 最近中文字幕2019视频1 | 日韩精品免费一区二区 | 一级做a免费视频观看网站 一男一女下面一进一出性视频 | 国产成人影院在线观看 | 午夜影院日韩 | 国产成人毛片毛片久久网 | 啪啪亚洲 | 欧美视频福利 | 免费在线日韩 | 在线观看成年人网站 | 蜜臀91 | 你懂的视频在线播放 | jizz极品呦女 | 国产精品1区2区3区 国产精品1区 2区 3区 | 白丝美女私视频 | 日韩成人一区ftp在线播放 | 精品国产免费一区二区 | 天天拍夜夜添久久精品中文 | 免费又黄又猛又爽的大片 | 久久亚洲最大成人网4438 | 国产91网站在线观看 | 色黄大色黄女片免费看软件 | 日日操天天| 精品在线一区二区三区 | 欧美一区二区三区精品影视 | 伊人精品线视天天综合 | senima亚洲综合 | 很黄很色又爽很黄很色又爽 | 欧美一级网 | 成人午夜精品视频在线观看 | 一级毛片免费毛片毛片 | 国产第一页久久亚洲欧美国产 | 奇米影视亚洲狠狠色777不卡 | 亚洲伊人色一综合网 | 国产a一级| 日韩高清一区二区三区不卡 | 国产黄色大片又色又爽 |