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

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

貴陽(yáng)網(wǎng)站設(shè)計(jì)免費(fèi)做網(wǎng)站的平臺(tái)

貴陽(yáng)網(wǎng)站設(shè)計(jì),免費(fèi)做網(wǎng)站的平臺(tái),做美劇網(wǎng)站侵權(quán),永州網(wǎng)頁(yè)設(shè)計(jì)ArrayList<>() import java.util.ArrayList; // 引入 ArrayList 類ArrayList<E> objectName new ArrayList<>();  // 初始化 常用方法 方法描述add()將元素插入到指定位置的 arraylist 中addAll()添加集合中的所有元素到 arraylist 中clear()刪除 arrayl…

ArrayList<>()

import java.util.ArrayList; // 引入 ArrayList 類ArrayList<E> objectName =new ArrayList<>();  // 初始化

常用方法

方法描述
add()將元素插入到指定位置的 arraylist 中
addAll()添加集合中的所有元素到 arraylist 中
clear()刪除 arraylist 中的所有元素
clone()復(fù)制一份 arraylist
contains()判斷元素是否在 arraylist
get()通過(guò)索引值獲取 arraylist 中的元素
indexOf()返回 arraylist 中元素的索引值
removeAll()刪除存在于指定集合中的 arraylist 里的所有元素
remove()刪除 arraylist 里的單個(gè)元素
size()返回 arraylist 里元素?cái)?shù)量
isEmpty()判斷 arraylist 是否為空
subList()截取部分 arraylist 的元素
set()替換 arraylist 中指定索引的元素
sort()對(duì) arraylist 元素進(jìn)行排序
toArray()將 arraylist 轉(zhuǎn)換為數(shù)組
toString()將 arraylist 轉(zhuǎn)換為字符串
ensureCapacity()設(shè)置指定容量大小的 arraylist
lastIndexOf()返回指定元素在 arraylist 中最后一次出現(xiàn)的位置
retainAll()保留 arraylist 中在指定集合中也存在的那些元素
containsAll()查看 arraylist 是否包含指定集合中的所有元素
trimToSize()將 arraylist 中的容量調(diào)整為數(shù)組中的元素個(gè)數(shù)
removeRange()刪除 arraylist 中指定索引之間存在的元素
replaceAll()將給定的操作內(nèi)容替換掉數(shù)組中每一個(gè)元素
removeIf()刪除所有滿足特定條件的 arraylist 元素
forEach()遍歷 arraylist 中每一個(gè)元素并執(zhí)行特定操作

LinkedList<>()

LinkedList 繼承了 AbstractSequentialList 類。

LinkedList 實(shí)現(xiàn)了 Queue 接口,可作為隊(duì)列使用。

LinkedList 實(shí)現(xiàn)了 List 接口,可進(jìn)行列表的相關(guān)操作。

LinkedList 實(shí)現(xiàn)了 Deque 接口,可作為隊(duì)列使用。

LinkedList 實(shí)現(xiàn)了 Cloneable 接口,可實(shí)現(xiàn)克隆。

LinkedList 實(shí)現(xiàn)了 java.io.Serializable 接口,即可支持序列化,能通過(guò)序列化去傳輸。

// 引入 LinkedList 類
import java.util.LinkedList; LinkedList<E> list = new LinkedList<E>();   // 普通創(chuàng)建方法LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合創(chuàng)建鏈表

更多的情況下我們使用 ArrayList 訪問(wèn)列表中的隨機(jī)元素更加高效,但以下幾種情況 LinkedList 提供了更高效的方法。

  1. 在列表開頭添加元素:addFirst( #value?)
  2. 在列表結(jié)尾添加元素:addLast( #value?)
  3. 在列表開頭移除元素:removeFirst()
  4. 在列表結(jié)尾移除元素:removeLast()
  5. 獲取列表開頭的元素:getFirst()
  6. 獲取列表結(jié)尾的元素:getLast()
  7. 迭代元素:使用for配合size()來(lái)迭代

常用方法

方法描述
public boolean add(E e)鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false。
public void add(int index, E element)向指定位置插入元素。
public boolean addAll(Collection?c)將一個(gè)集合的所有元素添加到鏈表后面,返回是否成功,成功為 true,失敗為 false。
public boolean addAll(int index, Collection?c)將一個(gè)集合的所有元素添加到鏈表的指定位置后面,返回是否成功,成功為 true,失敗為 false。
public void addFirst(E e)元素添加到頭部。
public void addLast(E e)元素添加到尾部。
public boolean offer(E e)向鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false。
public boolean offerFirst(E e)頭部插入元素,返回是否成功,成功為 true,失敗為 false。
public boolean offerLast(E e)尾部插入元素,返回是否成功,成功為 true,失敗為 false。
public void clear()清空鏈表。
public E removeFirst()刪除并返回第一個(gè)元素。
public E removeLast()刪除并返回最后一個(gè)元素。
public boolean remove(Object o)刪除某一元素,返回是否成功,成功為 true,失敗為 false。
public E remove(int index)刪除指定位置的元素。
public E poll()刪除并返回第一個(gè)元素。
public E remove()刪除并返回第一個(gè)元素。
public boolean contains(Object o)判斷是否含有某一元素。
public E get(int index)返回指定位置的元素。
public E getFirst()返回第一個(gè)元素。
public E getLast()返回最后一個(gè)元素。
public int indexOf(Object o)查找指定元素從前往后第一次出現(xiàn)的索引。
public int lastIndexOf(Object o)查找指定元素最后一次出現(xiàn)的索引。
public E peek()返回第一個(gè)元素。
public E element()返回第一個(gè)元素。
public E peekFirst()返回頭部元素。
public E peekLast()返回尾部元素。
public E set(int index, E element)設(shè)置指定位置的元素。
public Object clone()克隆該列表。
public Iterator?descendingIterator()返回倒序迭代器。
public int size()返回鏈表元素個(gè)數(shù)。
public ListIterator?listIterator(int index)返回從指定位置開始到末尾的迭代器。
public Object[] toArray()返回一個(gè)由鏈表元素組成的數(shù)組。
public?T[] toArray(T[] a)返回一個(gè)由鏈表元素轉(zhuǎn)換類型而成的數(shù)組。

一、ArrayList和LinkedList的區(qū)別

Java LinkedList(鏈表) 類似于 ArrayList,是一種常用的數(shù)據(jù)容器。

與 ArrayList 相比,LinkedList 的增加和刪除的操作效率更高,而查找和修改的操作效率較低。

以下情況使用 ArrayList :

  • 頻繁訪問(wèn)列表中的某一個(gè)元素。
  • 只需要在列表末尾進(jìn)行添加和刪除元素操作。

以下情況使用 LinkedList :

  • 你需要通過(guò)循環(huán)迭代來(lái)訪問(wèn)列表中的某些元素。
  • 需要頻繁的在列表開頭、中間、末尾等位置進(jìn)行添加和刪除元素操作。

線程安全:

  • 二者都不保證線程安全

底層數(shù)據(jù)結(jié)構(gòu):

  • ArrayList底層使用Object[]數(shù)組
  • LinkedList底層使用的是雙向鏈表數(shù)據(jù)結(jié)構(gòu),jdk1.6之前為雙向循環(huán)鏈表,jdk1.7之前為取消了循環(huán)

插入和刪除是否受元素位置影響:

  • ArrayList采用數(shù)組存儲(chǔ),所以插入和刪除元素的時(shí)間復(fù)雜度受元素位置的影響
  • LinkedList采用鏈表進(jìn)行存儲(chǔ)

是否支持快速隨機(jī)訪問(wèn):

  • 快速隨機(jī)訪問(wèn)就是通過(guò)元素的序號(hào)快速獲取元素對(duì)象
  • RandomAccess接口

內(nèi)存空間占用:

  • ArravList的空間浪費(fèi)主要休現(xiàn)在list列表的結(jié)尾會(huì)預(yù)留一定的容量空間
  • Linkedlist的空間花費(fèi)則體現(xiàn)在它的每個(gè)元 茶都需要消耗比ArrayList更多的空間,用于存放直接后繼和直接前馭以及數(shù)據(jù)

二、ArrayList和Vector的區(qū)別

? ? ? ? ArrayList是List的古老實(shí)現(xiàn)類,底層使用Object[]存儲(chǔ)的,線程不安全

? ? ? ? Vector是List的古老實(shí)現(xiàn)類,底層也是用Obejct[]存儲(chǔ)的,線程安全

三、CopyOnWriteArrayList

  1. 線程安全。
  2. add()方法實(shí)現(xiàn):在add()的時(shí)候會(huì)加上Lock鎖,然后復(fù)制出一個(gè)新的數(shù)組,往新的數(shù)組里面add真正的元素,最后把a(bǔ)rray的指向改變?yōu)樾碌臄?shù)組。
  3. get()方法或者是size()方法只是獲取array所指向的元素或者大小,讀不加鎖,但是寫加鎖。
  4. 很耗費(fèi)內(nèi)存,每次set(),add()都會(huì)復(fù)制一個(gè)數(shù)組出來(lái)。
  5. 只能保證數(shù)據(jù)的最終一致性,不能保證數(shù)據(jù)的實(shí)時(shí)一致性。 // 假設(shè)有兩個(gè)線程,A去讀CopyOnWriteArravList的數(shù)據(jù)還沒(méi)讀完,如果現(xiàn)在線程B把這個(gè)list給清空了,線程A此時(shí)還是可以把剩余的數(shù)據(jù)給讀出來(lái)。

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

相關(guān)文章:

  • 馬鞍山做網(wǎng)站公司排名深圳百度seo哪家好
  • 網(wǎng)頁(yè)設(shè)計(jì)如何建立網(wǎng)站杭州關(guān)鍵詞自動(dòng)排名
  • 淮安汽車集團(tuán)網(wǎng)站建設(shè)長(zhǎng)沙網(wǎng)站seo
  • 網(wǎng)站建設(shè)是什么語(yǔ)言網(wǎng)站營(yíng)銷策略
  • 北京商地網(wǎng)站建設(shè)公司百度網(wǎng)站排名查詢工具
  • 品劃網(wǎng)絡(luò)做營(yíng)銷型網(wǎng)站如何在百度上營(yíng)銷
  • 深圳專門做寫字樓的網(wǎng)站國(guó)內(nèi)最新新聞事件今天
  • 做網(wǎng)站開發(fā)電腦配置本地推薦本地推薦
  • 西安網(wǎng)站seo技術(shù)上海網(wǎng)絡(luò)seo
  • 泰興市淘寶網(wǎng)站建設(shè)鄭州seo推廣
  • 網(wǎng)站備案導(dǎo)致網(wǎng)站被k百度網(wǎng)盤下載電腦版官方下載
  • 從事網(wǎng)站開發(fā)辦理什么個(gè)體重慶百度推廣關(guān)鍵詞優(yōu)化
  • 好聽(tīng)好記的網(wǎng)站域名網(wǎng)站優(yōu)化企業(yè)排名
  • 溫州網(wǎng)站建設(shè)方案服務(wù)企業(yè)站seo案例分析
  • 免費(fèi)天眼查公司查詢aso優(yōu)化公司
  • 網(wǎng)站被攻擊空間關(guān)了怎么辦網(wǎng)站seo快速
  • 教做視頻的網(wǎng)站優(yōu)化系統(tǒng)的軟件
  • 南京做機(jī)床的公司網(wǎng)站智能優(yōu)化大師下載
  • 有那些專門做外貿(mào)的網(wǎng)站呀seo的優(yōu)化方案
  • 做彩票網(wǎng)站需要什么收錢的百度競(jìng)價(jià)有點(diǎn)擊無(wú)轉(zhuǎn)化
  • 公司做網(wǎng)站需要什么免費(fèi)入駐的賣貨平臺(tái)有哪些
  • 安卓是哪個(gè)公司開發(fā)的seo優(yōu)化自動(dòng)點(diǎn)擊軟件
  • 網(wǎng)站優(yōu)化最牛逼的軟件最有效的惡意點(diǎn)擊軟件
  • 怎么建立自己網(wǎng)站 asp如何進(jìn)行關(guān)鍵詞分析
  • 做ppt用什么網(wǎng)站北京優(yōu)化seo排名優(yōu)化
  • 教育公司 網(wǎng)站建設(shè)愛(ài)客crm
  • 做網(wǎng)站怎么備案seo綜合查詢什么意思
  • 專門做配電箱的網(wǎng)站b站推廣網(wǎng)站mmm
  • 多語(yǔ)種網(wǎng)站營(yíng)銷寧波seo關(guān)鍵詞優(yōu)化制作
  • 怎樣弄網(wǎng)站的導(dǎo)航欄百度競(jìng)價(jià)是什么意思