collection<list>去除外层collection
时间: 2023-12-04 09:04:49 浏览: 28
您可以使用以下代码来去除外层的Collection,保留内层的List:
```java
Collection<List<?>> collection = new ArrayList<>();
Collection<List<?>> newList = new ArrayList<>();
for (List<?> list : collection) {
newList.addAll(list);
}
```
这将把原始Collection中的所有List元素添加到新的Collection中,从而去除了外层的Collection。请注意,这里使用了通配符(wildcard)来处理List中的任何类型。
相关问题
Collection<T> 转List<T> java
要将`Collection<T>`转换为`List<T>`,可以使用`ArrayList`的构造函数或`addAll`方法。以下是两种方法的示例代码:
方法一:使用ArrayList的构造函数
```java
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class Main {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("A");
collection.add("B");
collection.add("C");
List<String> list = new ArrayList<>(collection);
System.out.println(list); // 输出 [A, B, C]
}
}
```
在上述示例中,我们通过将`Collection<T>`传递给`ArrayList`的构造函数来创建一个新的`ArrayList`对象,并将其赋值给`List<T>`类型的变量。
方法二:使用addAll方法
```java
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class Main {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("A");
collection.add("B");
collection.add("C");
List<String> list = new ArrayList<>();
list.addAll(collection);
System.out.println(list); // 输出 [A, B, C]
}
}
```
在上述示例中,我们创建了一个空的`ArrayList`对象,并使用`addAll`方法将`Collection<T>`中的元素添加到新的列表中。
无论使用哪种方法,最终都会将`Collection<T>`转换为`List<T>`类型的列表。
Collection<String>转成List<String>
Collection<String>转成List<String>可以通过以下方式实现:
1. 使用构造函数:
```
Collection<String> collection = new ArrayList<>();
List<String> list = new ArrayList<>(collection);
```
2. 使用addAll()方法:
```
Collection<String> collection = new ArrayList<>();
List<String> list = new ArrayList<>();
list.addAll(collection);
```
3. 使用Stream API:
```
Collection<String> collection = new ArrayList<>();
List<String> list = collection.stream().collect(Collectors.toList());
```
这些方法都可以将一个Collection<String>对象转换为List<String>对象。