java list的list()
时间: 2024-12-25 14:19:09 浏览: 7
### Java List接口概述
Java中的`List`接口属于`Collection`框架的一部分,具有保持元素插入顺序的特点,并允许重复元素存在[^2]。
#### `List`接口特性
- **有序**:每个元素都有固定的索引位置,从0开始计数。
- **可重复**:支持同一个列表内存储多个相同对象实例。
### 常见实现类介绍
#### ArrayList
这是最常用的`List`实现之一。它基于动态数组实现,在随机访问方面性能优异。提供了快速的读取速度,但在频繁插入删除操作时效率较低,因为这些动作可能引发底层数组的扩容或移动其他元素的位置[^1]。
```java
// 创建ArrayList并添加元素
List<String> arrayList = new ArrayList<>();
arrayList.add("Apple");
arrayList.add("Banana");
System.out.println(arrayList.get(0)); // 输出 "Apple"
```
#### Vector
类似于`ArrayList`,但是线程安全版本。内部同样采用数组形式保存数据项。由于同步机制的存在,默认情况下其所有公共方法都是被`synchronized`修饰过的,因此在多线程环境中更稳定可靠,不过这也意味着单一线程下的执行会相对较慢。
```java
// 使用Vector创建线程安全的列表
List<Integer> vector = new Vector<>();
vector.addElement(1);
vector.addElement(2);
for (int i : vector) {
System.out.print(i + " "); // 打印 "1 2 "
}
```
#### LinkedList
实现了双向链表的数据结构模型,适合于需要大量中间位置插入/移除场景的应用程序开发工作。相比起前两者而言,对于遍历和按序号查找的操作则显得不够高效。
```java
// 初始化LinkedList并向其中加入节点
List<Double> linkedList = new LinkedList<>();
linkedList.offerFirst(3.14);
linkedList.offerLast(6.28);
while (!linkedList.isEmpty()) {
System.out.println(linkedList.poll()); // 依次打印 "3.14", "6.28"
}
```
阅读全文