Java中ArrayList類(lèi)詳細(xì)介紹
Java中ArrayList類(lèi)詳細(xì)介紹
ArrayList是一個(gè)可變長(zhǎng)度數(shù)組,它實(shí)現(xiàn)了List接口,因此它也可以包含重復(fù)元素和Null元素,也可以任意的訪問(wèn)和修改元素,隨著向 ArrayList 中不斷添加元素,其容量也自動(dòng)增長(zhǎng)。不過(guò)ArrayList是非同步(同步的意思是如果多個(gè)線程同時(shí)訪問(wèn)一個(gè)實(shí)例,任何一個(gè)線程對(duì)實(shí)例做了修改之后,其他線程所訪問(wèn)到的實(shí)例應(yīng)該是修改過(guò)的最新的實(shí)例)的,
我們經(jīng)常使用List list = Collections.synchronizedList(new ArrayList<E>()); 來(lái)返回一個(gè)支持ArrayList的同步列表。
它有以下幾個(gè)常用方法:
add(int index, E element)
將指定的元素插入此列表中的指定位置。
add(E e)
將指定的元素添加到此列表的尾部。
addAll(Collection<? extends E> c)
按照指定 collection 的迭代器所返回的元素順序,將該 collection 中的所有元素添加到此列表的尾部。
addAll(int index, Collection<? extends E> c)
從指定的位置開(kāi)始,將指定 collection 中的所有元素插入到此列表中。
clear()
移除此列表中的所有元素。
set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
get(int index)
返回此列表中指定位置上的元素。
List被稱(chēng)為序列,用戶可以對(duì)每個(gè)元素的插入位置進(jìn)行精確的控制,也可以根據(jù)元素的索引訪問(wèn)元素。
這種實(shí)現(xiàn)主要是通過(guò)add(int index,E element)和get(int index)兩個(gè)方法,序列還允許元素重復(fù)和空元素,對(duì)List元素的訪問(wèn)主要有兩種方法:通過(guò)索引和迭代,可以通過(guò)set(int index,E element)來(lái)實(shí)現(xiàn)替代指定索引處的元素,List提供了特別的迭代器ListIterator,該迭代器除了可以訪問(wèn)List的元素以外還可以來(lái)插入和替換元素,可以通過(guò)List的ListIterator()方法來(lái)獲取一個(gè)迭代器。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
五種SpringBoot實(shí)現(xiàn)數(shù)據(jù)加密存儲(chǔ)的方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種常見(jiàn)數(shù)據(jù)加密存儲(chǔ)的方法(結(jié)合SpringBoot和MyBatisPlus框架進(jìn)行實(shí)現(xiàn)),文中的示例代碼講解詳細(xì),需要的可以參考下2023-11-11
Java?多線程并發(fā)?ReentrantReadWriteLock詳情
這篇文章主要介紹了Java多線程并發(fā)ReentrantReadWriteLock詳情,ReentrantReadWriteLock可重入讀寫(xiě)鎖。實(shí)際使用場(chǎng)景中,我們需要處理的操作本質(zhì)上是讀與寫(xiě),更多相關(guān)資料,感興趣的小伙伴可以參考一下下面文章內(nèi)容2022-06-06
如何使用Java 8 中的 Stream 遍歷樹(shù)形結(jié)構(gòu)
這篇文章主要介紹了使用Java 8中的Stream遍歷樹(shù)形結(jié)構(gòu),我們可以使用Java8中的Stream流一次性把數(shù)據(jù)查出來(lái),然后通過(guò)流式處理,我們一起來(lái)看看,代碼實(shí)現(xiàn)為了實(shí)現(xiàn)簡(jiǎn)單,就模擬查看數(shù)據(jù)庫(kù)所有數(shù)據(jù)到List里面,需要的朋友可以參考下2023-08-08
Java反射學(xué)習(xí) getClass()函數(shù)應(yīng)用
所謂反射,可以理解為在運(yùn)行時(shí)期獲取對(duì)象類(lèi)型信息的操作,本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12
java實(shí)現(xiàn)超市庫(kù)存管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)超市庫(kù)存管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解
這篇文章主要介紹了SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解,在創(chuàng)建代理的時(shí)候?qū)δ繕?biāo)類(lèi)的每個(gè)連接點(diǎn)使用靜態(tài)切點(diǎn)檢查,如果僅通過(guò)靜態(tài)切點(diǎn)檢查就可以知道連接點(diǎn)是不匹配的,則在運(yùn)行時(shí)就不再進(jìn)行動(dòng)態(tài)檢查了,需要的朋友可以參考下2023-09-09
MyBatis超詳細(xì)講解如何實(shí)現(xiàn)分頁(yè)功能
MyBatis-Plus?是一個(gè)?Mybatis?增強(qiáng)版工具,在?MyBatis?上擴(kuò)充了其他功能沒(méi)有改變其基本功能,為了簡(jiǎn)化開(kāi)發(fā)提交效率而存在,本篇文章帶用它實(shí)現(xiàn)分頁(yè)功能2022-03-03

