http://wuaner.iteye.com/blog/460412
List list = new ArrayList(int initialCapacity); //构造一个初始容量为initialCapacity的空列表。
Sysout.out.println(list.size()); //size()方法指的是List中实际存放有多少个元素,故这里是0
API中对ArrayList构造函数的解释:
ArrayList的部分源代码:
/**
* Constructs an empty list with the specified initial capacity.
*
* @param initialCapacity the initial capacity of the list.
* @exception IllegalArgumentException if the specified initial capacity
* is negative
*/
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = (E[])new Object[initialCapacity];
}
/**
* Constructs an empty list with an initial capacity of ten.
*/
public ArrayList() {
// 注意这里。默认长度为10。这回知道了吧
this(10);
}
/**
* Constructs an empty list with the specified initial capacity.
*
* @param initialCapacity the initial capacity of the list.
* @exception IllegalArgumentException if the specified initial capacity
* is negative
*/
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = (E[])new Object[initialCapacity];
}
/**
* Constructs an empty list with an initial capacity of ten.
*/
public ArrayList() {
// 注意这里。默认长度为10。这回知道了吧
this(10);
}
分享到:
相关推荐
ArrayList 动态数组 它提供了以下好处: 1、动态的增加和减少元素。 2、实现了ICollection和List接口 3、灵活的设置了数组的大小 ...ArrayList<int> list=new ArrayList<int>();//语法错误, /
int* newData = (int*)realloc(list->data, newCapacity * sizeof(int)); if (newData == NULL) { printf("Memory reallocation failed.\n"); exit(1); // 处理失败情况,如程序退出 } list->data = newData; ...
- `public ArrayList(int initialCapacity)`:创建一个具有指定初始容量的空列表。 - `public ArrayList(Collection<? extends E> c)`:创建一个包含指定集合元素的列表。 ##### 2. `IsSynchronized`属性和`...
- **转换为数组**:如示例所示,可以使用 `toArray` 方法将 ArrayList 转换为数组:`Int32[] values = (Int32[])list.toArray(new Int32[0]);` - **从数组创建 ArrayList**:`ArrayList list = new ArrayList...
- `ArrayList(int initialCapacity)`: 初始化指定容量的ArrayList。 - **IsSynchronized和Synchronized方法**: - `isSynchronized()`: 检查ArrayList是否线程安全。 - `synchronizedList(ArrayList list)`: ...
ArrayList 类提供了两个构造方法,一个是 `public ArrayList(int initialCapacity)`,它可以指定 ArrayList 的初始容量;另一个是 `public ArrayList()`,它将创建一个初始容量为 10 的空列表。 添加元素 ...
ArrayList list = new ArrayList(); for (int i = 0; i ; i++) { list.add(i); } list.remove(5); for (int i = 0; i ; i++) { list.add(i + 20); } ``` 这个示例中,我们首先创建了一个 ArrayList 对象,然后...
如果需要预设容量,可以通过`ArrayList(int initialCapacity)`构造函数来指定。同时,`trimToSize()`方法可以将ArrayList的容量压缩至实际元素数量,`ensureCapacity(int minCapacity)`则用于确保ArrayList至少能...
- `ArrayList(int initialCapacity)`: 创建一个指定初始容量的ArrayList,避免了不必要的扩容操作。 2. **ArrayList的主要方法**: - `add(E element)`: 向ArrayList末尾添加一个元素。 - `add(int index, E ...
根据给定文件的信息,我们可以提炼出关于Java软件开发中List接口实现类的关键知识点。这部分内容主要聚焦于第11章的“Java集合框架和泛型机制”,特别关注List接口及其几种实现类,包括`ArrayList`、`LinkedList`、`...
List<String> list = new ArrayList(100); // 初始化容量为100 ``` #### 二、ArrayList源码分析 接下来我们将深入探究 `ArrayList` 的源码,了解其实现细节。 ##### 2.1 底层使用数组 `ArrayList` 内部使用了...
2. `ArrayList(int initialCapacity)`:指定初始容量的ArrayList,避免频繁扩容。 二、添加元素 1. `add(E element)`:向ArrayList末尾添加一个元素。 2. `add(int index, E element)`:在指定位置插入一个元素,...
public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else ...
`ArrayList` 是 Java 集合框架中的一个重要的类,它实现了 `List` 接口,并且内部使用动态数组来存储元素。由于其灵活的特性(比如可以方便地增加或删除元素),`ArrayList` 成为了开发中最常用的集合类型之一。 ##...
在探讨 JDK 7.0 中 ArrayList 的底层实现原理之前,首先需要了解 ArrayList 作为 Java 集合框架中 List 接口的动态数组实现类的基本概念。ArrayList 提供了一种存储有序、可重复、允许为 null 的数据结构,并且该...
public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else ...
ArrayList<String> list = new ArrayList(initialCapacity); ``` 2. **添加元素**: 使用`add()`方法可以向ArrayList中添加元素: ```java list.add("字符串1"); list.add("字符串2"); ``` 3. **访问元素*...
public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else ...
List list = Collections.synchronizedList(new ArrayList(...)); ArrayList 源码分析: ArrayList 底层采用数组实现,所以它的操作基本上都是基于对数组的操作。ArrayList 提供了三个构造函数: 1. ArrayList()...