将集合中对象集合收集到一个hashset中再转化为ArrayList
时间: 2024-03-26 18:39:05 浏览: 25
可以使用Java 8中提供的Stream API,将集合中对象集合收集到一个HashSet中,然后再将HashSet转换为ArrayList。具体实现如下所示:
```java
List<List<String>> objectList = new ArrayList<>();
// 添加对象集合到List中
objectList.add(Arrays.asList("A", "B", "C"));
objectList.add(Arrays.asList("D", "E", "F"));
objectList.add(Arrays.asList("G", "H", "I"));
// 将对象集合收集到HashSet中
Set<String> hashSet = objectList.stream()
.flatMap(Collection::stream)
.collect(Collectors.toSet());
// 将HashSet转换为ArrayList
ArrayList<String> arrayList = new ArrayList<>(hashSet);
```
这段代码将List中的对象集合收集到了一个HashSet中,然后将HashSet转换为ArrayList。需要注意的是,转换后的ArrayList中元素的顺序可能与原来的对象集合不同。
相关问题
一个list集合,去除集合中重复的内容 java
在Java中,你可以使用HashSet来实现去除一个List集合中的重复元素。代码如下:
```java
List<Integer> myList = new ArrayList<>(Arrays.asList(1, 2, 3, 3, 4, 4, 5));
Set<Integer> mySet = new HashSet<>(myList);
myList.clear();
myList.addAll(mySet);
System.out.println(myList);
```
输出结果为:[1, 2, 3, 4, 5]
首先将List转化为HashSet,因为HashSet不允许有重复元素,所以重复的元素将被去除。然后再将HashSet转化回List。
一个list集合泛型是Map<String,String>,去除集合中重复的内容 java
如果你的List集合泛型是Map<String, String>,那么你可以使用HashMap来实现去除重复元素。代码如下:
```java
List<Map<String, String>> myList = new ArrayList<>();
Map<String, String> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
myList.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("key1", "value1");
map2.put("key2", "value2");
myList.add(map2);
Map<String, String> map3 = new HashMap<>();
map3.put("key1", "value1");
map3.put("key2", "value3");
myList.add(map3);
Set<Map<String, String>> mySet = new HashSet<>();
mySet.addAll(myList);
myList.clear();
myList.addAll(mySet);
System.out.println(myList);
```
输出结果为:`[{key1=value1, key2=value2}, {key1=value1, key2=value3}]`
首先将List转化为HashSet,因为HashSet不允许有重复元素,所以重复的元素将被去除。由于Map的equals和hashCode方法默认比较的是其键值对,所以可以直接将List中的Map对象放入HashSet中去重。然后再将HashSet转化回List。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)