数组转集合
时间: 2023-06-30 15:20:50 浏览: 71
将数组转换为集合,可以使用STL中的set容器。set是一个有序的、不重复的集合,可以方便地将数组中的元素去重并排序。以下是一个示例代码:
```c++
#include <iostream>
#include <set>
using namespace std;
int main() {
int arr[] = {3, 1, 4, 2, 5, 4, 1};
int len = sizeof(arr) / sizeof(int);
// 将数组转换为set
set<int> mySet(arr, arr + len);
// 输出set中的元素
for(auto i: mySet) {
cout << i << " ";
}
return 0;
}
```
运行结果为:
```
1 2 3 4 5
```
在上面的代码中,使用了set的构造函数将数组转换为set。该构造函数接受两个迭代器作为参数,第一个迭代器指向数组的开始位置,第二个迭代器指向数组的结束位置。由于STL的容器都是左闭右开区间,因此需要将结束位置设置为数组的末尾元素的后一个位置。
相关问题
java 数组转集合
在中,将数组转换为集合有多种方式。
一种常用的方式是使用Arrays类的asList()方法。这个方法接受一个数组作为参数,并返回一个固定大小的List对象。例如,假设我们有一个整数数组arr,可以使用以下代码将它转换为List对象list1:
Integer[] arr = {2, 4, 6, 8, 10};
List<Integer> list1 = Arrays.asList(arr);
另一种方式是使用流(Stream)的方式进行转换。可以使用Arrays类的stream()方法将数组转换为流,然后使用Collectors类的toList()方法将流转换为List对象。下面是一个示例代码:
List<Integer> list2 = Arrays.stream(arr).collect(Collectors.toList());
除了上述两种方式之外,还可以使用ArrayList的构造函数来实现数组转换为ArrayList。例如:
List<Integer> list3 = new ArrayList<>(Arrays.asList(arr));
总结起来,将数组转换为集合的方式有以下几种:
1. 使用Arrays类的asList()方法:List<Integer> list1 = Arrays.asList(arr);
2. 使用流的方式:List<Integer> list2 = Arrays.stream(arr).collect(Collectors.toList());
3. 使用ArrayList的构造函数:List<Integer> list3 = new ArrayList<>(Arrays.asList(arr));
前端数组转集合
可以使用 ES6 中的 Set 对象来将数组转换为集合。Set 对象是一种集合数据类型,可以用来存储一组唯一的值。可以通过以下代码将数组转换为 Set 对象:
```
const arr = [1, 2, 3, 2, 1];
const set = new Set(arr);
```
这里的 `arr` 是原始数组,`set` 是转换后的集合。由于集合只存储不重复的值,所以 `set` 中只会包含 `1`、`2`、`3` 这三个元素。
如果需要将集合转换回数组,可以使用扩展运算符 `...`,如下所示:
```
const arrFromSet = [...set];
```