首頁 >Java >Java入門 >java中的ArrayList的建構方法有哪些?

java中的ArrayList的建構方法有哪些?

王林
王林轉載
2019-11-25 13:47:163834瀏覽

java中的ArrayList的建構方法有哪些?

以下由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(Collection2d4902c92e1e7bfd574f59708c57776a 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的建構方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除