中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中ArrayList和普通數組的區別

發布時間:2020-06-24 11:49:18 來源:億速云 閱讀:364 作者:Leah 欄目:編程語言

這期內容當中的小編將會給大家帶來有關java中ArrayList和普通數組的區別,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

什么是ArrayList?

ArrayList的實現原理其實就是數組(動態數組)。

動態數組與一般數組有什么區別?

與Java中的數組相比,ArrayList的容量能動態地增長。

ArrayList效率怎么樣?

ArrayList不是線程安全的,所以效率比較高 ,但是只能用于單線程的環境中。

ArrayList主要繼承哪些類實現了哪些接口?

ArrayList主要繼承了AbstractList類,實現了ListRandomAccessCloneableSerializable接口

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable

RandomAccess的意思是其擁有快速訪問的能力,ArrayList可以以 O(1)[^1]的時間復雜度去根據下標訪問元素。由于ArrayList底層機構是數組,所以它占據了一塊連續的內存空間,其長度就是數組的大小,因此它也有數組的缺點,在空間效率不高,但是也有它的優點,就是查詢速度快,時間效率較快。

ArrayList的常量與變量有哪些?

// 序列ID
private static final long serialVersionUID = 8683452581122892189L;

// ArrayList默認的初始容量大小
private static final int DEFAULT_CAPACITY = 10;

// 空對象數組,用于空實例的共享空數組實例
private static final Object[] EMPTY_ELEMENTDATA = {};

// 空對象數組,如果使用默認的構造函數創建,則默認對象內容是該值
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};

// 存放當前數據,不參與序列化
transient Object[] elementData; // non-private to simplify nested class access

// list大小
private int size;

當集合中的元素超出數組規定的長度時,數組就會進行擴容操作,擴容操作就是ArrayList存儲操作緩慢的原因,尤其是當數據量較大的時候,每次擴容消耗的時間會越來越多。

上述就是小編為大家分享的java中ArrayList和普通數組的區別了,如果您也有類似的疑惑,不妨礙參照上述分析進行理解。如果想了解更多相關內容,請關注億速云行業資訊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭州市| 镇沅| 小金县| 南平市| 隆安县| 云南省| 建德市| 剑川县| 南安市| 镇巴县| 溧阳市| 桑日县| 墨江| 武义县| 射洪县| 乌兰县| 屏南县| 茶陵县| 道孚县| 那曲县| 民勤县| 威宁| 澳门| 交城县| 商河县| 泰和县| 开原市| 沙洋县| 南通市| 杂多县| 綦江县| 开封县| 龙江县| 乃东县| 新建县| 襄汾县| 广南县| 芜湖县| 聂荣县| 穆棱市| 监利县|