LinkedList类源码浅析(二)
生活随笔
收集整理的這篇文章主要介紹了
LinkedList类源码浅析(二)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、上一節(jié)介紹了LinkedList的幾個基本的方法,其他方法類似,就不一一介紹;
現(xiàn)在再來看一個刪除的方法:remove(Object o)
remove方法接受一個Object參數(shù),這里需要對參數(shù)做空與非空處理;
但是刪除一個Object元素,都需要遍歷整個鏈表,這樣如果需要頻繁的調(diào)用remove方法,刪除的效率是非常低的;
類似的方法還有indexOf(Object o):這是根據(jù)傳入的object參數(shù)來獲取下標(biāo)的方法;
2、根據(jù)下標(biāo)來查找節(jié)點元素:node(int index)
這個查詢有一個特點:把鏈表分成兩段來進行遍歷,如果index<size/2,那么遍歷前半段,否則遍歷后半段;
這樣做雖然提高了效率,但是如果鏈表非常大的話,效率還是會比較慢;
3、LinkedList的迭代器對象
迭代器對象也提供了豐富的操作方法:包括查找前置元素,后繼元素,增加元素和刪除元素方法;
同時也會拋出并發(fā)修改異常:ConcurrentModificationException
轉(zhuǎn)載于:https://www.cnblogs.com/lianliang/p/5765081.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的LinkedList类源码浅析(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS3基础知识(一)
- 下一篇: Windows 10+Ubuntu 16