亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

java中ArrayList有幾種構造方法

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

這篇文章運用簡單易懂的例子給大家介紹java中ArrayList的構造方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、ArrayList(int initialCapacity)

所以當我們要使用ArrayList時,可以 new ArrayList(大小)構造方法來指定集合的大小,以減少擴容的次數,提高寫入效率,該構造函數的源碼如下:

// 自定義初始容量的構造方法
public ArrayList(int initialCapacity) {

    if (initialCapacity > 0) {
        this.elementData = new Object[initialCapacity];
    } else if (initialCapacity == 0) {
        this.elementData = EMPTY_ELEMENTDATA;
    } else {
        // 如果初始容量小于0,則會出現 IllegalArgumentException 異常
        throw new IllegalArgumentException("Illegal Capacity: "+
                                           initialCapacity);
    }
}

這個構造函數還是比較好理解的,因為涉及到的代碼也不多,而且都是一些基礎的代碼,相信聰明的你肯定看得懂的

二、ArrayList()

這個就更簡單了,只有兩行代碼

// 默認的構造方法,構造一個初始容量為10的空列表
public ArrayList() {
    // elementData 初始化為 DEFAULTCAPACITY_EMPTY_ELEMENTDATA
    this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}

三、ArrayList(Collection<? extends E> c)

// 構造一個包含指定元素的列表集合,按集合的返回順序迭代器
// 傳入參數為Collection對象
// c要將其元素放入此列表的集合
public ArrayList(Collection<? extends E> c) {
    
    // 調用toArray()方法將Collection對象轉換為Object[]
    elementData = c.toArray();
    
    // 判斷size的大小,如果size值為0,則會拋出NullPointerException異常
    // 如果size > 0 ,則執行以下代碼
    if ((size = elementData.length) != 0) {
        // c.toArray might (incorrectly) not return Object[] (see 6260652)
        if (elementData.getClass() != Object[].class)
            
            // 執行Arrays.copyOf,把Collection對象的內容copy到elementData中
            elementData = Arrays.copyOf(elementData, size, Object[].class);
    } else {
        // replace with empty array.
        this.elementData = EMPTY_ELEMENTDATA;
    }
}

關于java中ArrayList的構造方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

南通市| 景东| 桦甸市| 林州市| 通州市| 赤城县| 定日县| 平度市| 定襄县| 东阿县| 乌鲁木齐县| 汝州市| 关岭| 凉城县| 泰安市| 通渭县| 龙江县| 新田县| 房产| 四子王旗| 牙克石市| 嘉定区| 开化县| 郯城县| 思南县| 天峨县| 化州市| 绥中县| 科技| 苍梧县| 仪征市| 永和县| 吉木乃县| 万源市| 温州市| 安康市| 滨州市| 区。| 乡宁县| 垫江县| 湟中县|