快速初始化arraylist
时间: 2023-01-30 16:20:35 浏览: 170
要快速初始化一个ArrayList,你可以使用Arrays.asList()方法将一个数组转换为ArrayList,或者使用Java9以上版本中的List.of()方法来初始化一个不可变的ArrayList。
下面是使用Arrays.asList()方法的示例:
```
String[] strArr = {"a", "b", "c"};
ArrayList<String> strList = new ArrayList<>(Arrays.asList(strArr));
```
使用List.of()方法的示例如下:
```
ArrayList<String> strList = new ArrayList<>(List.of("a", "b", "c"));
```
注意:Arrays.asList()方法返回的是一个Arrays的内部类,该内部类并不是java.util.ArrayList类,它不支持所有java.util.ArrayList的方法。但是它的大多数方法都是可以的,比如get,set,size等。如果你需要支持所有的方法,你需要使用上面的第二种方式,将List.of()的返回值放入构造器中来创建一个ArrayList。
相关问题
arraylist初始化并赋值
ArrayList 是 Java 中的一个动态数组类,它允许我们在运行时创建一个大小可变的列表,并提供了方便的操作集合元素的方法。下面将介绍如何初始化 ArrayList 并向其中添加数据。
```java
// 导入必要的包
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// 创建一个空的 ArrayList 对象,指定泛型类型为 Integer(存储整数)
ArrayList<Integer> list = new ArrayList<>();
// 使用 add() 方法逐个插入元素到列表中
for (int i = 0; i < 5; ++i){
list.add(i);
}
// 输出结果
System.out.println("List内容:" + list.toString());
/* 如果想一次性给 ArrayList 赋初值,则可以先将其转换成 Arrays.asList()
* 然后再通过构造函数传参完成初始化操作 */
List<String> fruits = new ArrayList<>(Arrays.asList("苹果", "香蕉","葡萄"));
System.out.println(f"水果清单:{fruits}");
}
}
```
注意,在这里我们还展示了另外一种更简便的一次性赋初始值的方式:直接利用 `Arrays` 类下的静态工具方法 `asList()` 将一组数值转为固定长度列表作为实参与传递给带参数版本的构造器来进行快速填充;此外也可以采用流式API结合 Collectors 来达到类似效果。
最后要注意的是,由于 ArrayList 的容量是可以自动增长的特性,因此不必担心超出预设范围的问题,但为了提高性能和节省内存空间建议根据实际情况选择合适的方式来构建及维护此容器结构。
ArrayList
### Java `ArrayList` 使用指南
#### 创建 `ArrayList`
可以利用构造函数来初始化一个空的 `ArrayList<String>` 对象[^2]:
```java
ArrayList<String> list = new ArrayList<>();
```
如果希望在创建的同时填充一些初始数据,则可以通过调用带有集合参数的构造器并传入如 `Arrays.asList()` 的返回值实现这一点[^1]。
```java
ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
```
#### 添加元素到 `ArrayList`
向列表中追加新项可借助于 `add(E e)` 方法完成。此操作会将指定对象放置于列表末端位置处。
```java
list.add("d");
```
对于想要插入特定索引位上的情况,应该采用带两个参数版本的方法——即 `add(int index, E element)` 来达成目的;其中第一个参数代表目标下标而第二个则是待加入的数据实体。
```java
list.add(0, "z"); // 将 'z' 插入至最前面的位置上
```
#### 访问 `ArrayList` 中的元素
获取某个具体位置处存储的对象可通过执行 `get(int index)` 函数获得对应的结果集成员之一。
```java
String firstElement = list.get(0); // 获取首个条目
```
遍历整个容器内的全部组件时可以选择增强型for循环语法结构来进行迭代访问。
```java
for (String item : list) {
System.out.println(item);
}
```
#### 修改已存在项目
更新现有记录的内容依靠的是 `set(int index, E element)` 动作,它允许替换掉原先位于给定序号下的旧实例为新的替代品。
```java
list.set(1, "new value"); // 把第二项改写成 “new value”
```
#### 移除元素
当需要删除单个节点的时候,既可以依据确切坐标的指引通过 `remove(int index)` 实现定位移除,也能凭借实际参照物本身作为条件经由 `remove(Object o)` 达成同样效果。
```java
list.remove(2); // 删除第三个元素
boolean removed = list.remove("a"); // 如果有匹配则移除此字符串类型的元素,并返回是否成功标志
```
#### 查询 `ArrayList` 特性
为了得知当前序列里究竟容纳了多少数量级的事物单元,应当查询 `size()` 属性所指示的具体数值大小。
```java
int sizeOfList = list.size();
```
判断某特定对象是否存在于此范围内,可以用布尔表达式形式呈现出来的 `contains(Object o)` 接口测试之。
```java
if(list.contains("target")) { /* ... */ }
```
#### 清理所有内容
最后,在某些场景下可能期望一次性清除所有的内部装载资料,此时只需简单地调用一次性的 `clear()` 即能快速达到清零的效果。
```java
list.clear();
```
阅读全文
相关推荐
















