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

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

Java編程基礎中list的用法

更新時間:2020-07-09 16:11:50 來源:動力節點 瀏覽2628次

Java中可變數組的原理就是不斷的創建新的數組,將原數組加到新的數組中。List集合是有序的,Developer可對其中每個元素的插入位置進行精確地控制,可以通過索引來訪問元素,遍歷元素。在List集合中,我們常用到ArrayList和LinkedList這兩個類。其中,ArrayList底層通過數組實現,隨著元素的增加而動態擴容。而LinkedList底層通過鏈表來實現,隨著元素的增加不斷向鏈表的后端增加節點。ArrayList是Java集合框架中使用最多的一個類,是一個數組隊列,線程不安全集合。它繼承于AbstractList,實現了List,RandomAccess,Cloneable,Serializable接口。

ArrayList實現List,得到了List集合框架基礎功能;

ArrayList實現RandomAccess,獲得了快速隨機訪問存儲元素的功能,RandomAccess是一個標記接口,沒有任何方法;

ArrayList實現Cloneable,得到了clone()方法,可以實現克隆功能;

ArrayList實現Serializable,表示可以被序列化,通過序列化去傳輸,典型的應用就是hessian協議。

Java List的常用操作

list中添加,獲取,刪除元素;

添加方法是:.add(e);

獲取方法是:.get(index);

刪除方法是:.remove(index);按照索引刪除;.remove(Object o);按照元素內容刪除;

Java編程基礎中list的用法

利用list中索引位置重新生成一個新的list(截取集合);

方法:.subList(fromIndex,toIndex);.size();該方法得到list中的元素數的和

Java編程基礎中list的用法

去重復;

Java編程基礎中list的用法

list中根據索引將元素數值改變;

注意.set(index,element);和.add(index,element);的不同;

Java編程基礎中list的用法

List的子類

1、LinkedList類

LinkedList實現了List接口,允許null元素。此外LinkedList提供額外的get,remove,insert方法在LinkedList的首部或尾部。這些操作使LinkedList可被用作堆棧(stack),隊列(queue)或雙向隊列(deque)。

注意LinkedList沒有同步方法。如果多個線程同時訪問一個List,則必須自己實現訪問同步。一種解決方法是在創建List時構造一個同步的List:

Java編程基礎中list的用法

2、ArrayList類

ArrayList實現了可變大小的數組。它允許所有元素,包括null。ArrayList沒有同步。

size,isEmpty,get,set方法運行時間為常數。但是add方法開銷為分攤的常數,添加n個元素需要O(n)的時間。其他的方法運行時間為線性。

每個ArrayList實例都有一個容量(Capacity),即用于存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長算法并沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。

和LinkedList一樣,ArrayList也是非同步的(unsynchronized)。

特點是:尋址容易,插入和刪除困難;

3、Vector類

Vector非常類似ArrayList,但是Vector是同步的。由Vector創建的Iterator,雖然和ArrayList創建的Iterator是同一接口,但是,因為Vector是同步的,當一個Iterator被創建而且正在被使用,另一個線程改變了Vector的狀態(例如,添加或刪除了一些元素),這時調用Iterator的方法時將拋出ConcurrentModificationException,因此必須捕獲該異常。

4、Stack類

Stack繼承自Vector,實現一個后進先出的堆棧。Stack提供5個額外的方法使得Vector得以被當作堆棧使用。基本的push和pop方法,還有peek方法得到棧頂的元素,empty方法測試堆棧是否為空,search方法檢測一個元素在堆棧中的位置。Stack剛創建后是空棧。

Java編程基礎中list的用法

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲欧洲一区二区三区在线 | 久久r视频| 国内精品小视频在线 | 久久精品国产色蜜蜜麻豆 | 亚洲第二页 | 国产精品免费看久久久香蕉 | 奇米第八色 | 欧美日韩亚洲精品一区 | 久久国产影院 | 热re99久久精品国产99热 | 一级成人生活片免费看 | 亚洲一区中文字幕在线观看 | 老司机精品在线观看 | 亚洲精品久久9热 | 天天色天天 | 国产香蕉75在线播放 | 女人一级一级毛片 | 久久久中文字幕日本 | 国产欧美另类性视频 | 欧美亚洲国产一区 | 国产精品免费综合一区视频 | 午夜色大片在线观看 | 亚洲精品日韩在线一区 | 人成午夜免费大片在线观看 | 国产在线一区视频 | 国产老年人性视频 | 午夜影院普通 | 99久久日本一区二区波多野结衣 | 日本1区| 不卡欧美| 拍真实国产伦偷精品 | 日本天天操 | 老司机成人午夜精品福利视频 | 中文字幕日韩欧美 | 亚洲一区二区三区久久精品 | 99久久免费精品 | 色国产精品| 成人黄色免费 | 国产成人小视频 | 国产一区二区三区在线影院 | 久久夜色tv网站 |