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

