Java集合和数组之间转换
时间: 2024-09-11 12:19:24 浏览: 68
Java集合框架和数组都是数据存储结构,它们之间可以互相转换以便于操作。以下是两者之间的常见转换:
1. **数组转集合**:
- `ArrayList`: 可以通过`Arrays.asList()`方法将一维数组转换为ArrayList,它是一个动态大小的列表。
```java
int[] array = {1, 2, 3};
List<Integer> list = Arrays.asList(array);
```
- 其他数组类型同样可以先转换为基本类型的List,如`Integer[]`转`List<Integer>`。
2. **集合转数组**:
- 对于ArrayList等实现了`List`接口的集合,可以使用`toArray()`方法创建一个新的数组,或者直接指定目标类型的数组(如果类型匹配)。
```java
List<Integer> list = new ArrayList<>();
int[] newArray = list.toArray(new Integer[0]);
```
3. **ArrayList转固定长度数组**:
如果需要的是固定长度的数组,可以遍历ArrayList并复制元素到新数组。
4. **数组转Map**: 如果数组代表键值对,可以使用`Collectors.toMap()`方法配合Stream,将其转换成HashMap。
阅读全文