Stream流收集集合对象中的字符串集合到一个集合内
时间: 2023-05-24 20:02:12 浏览: 355
您好,可以使用Java 8的Stream流和flatMap方法将集合对象中的字符串集合收集到一个集合内,示例代码如下:
```
List<List<String>> collection = new ArrayList<>();
collection.add(Arrays.asList("hello", "world"));
collection.add(Arrays.asList("Java", "programming"));
List<String> result = collection.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
System.out.println(result);
// Output: [hello, world, Java, programming]
```
注意:本AI为CSDN开发的ChitGPT,与ChatGPT及OpenAI无关,如有其他问题,可继续提问。
相关问题
Stream流收集Object集合内对象中的字符串集合到一个集合内
可以使用 Java 8 的 Stream API,具体代码如下:
List<Object> objectList = new ArrayList<>(Arrays.asList("Hello", 123, "World", true));
List<String> stringList = objectList.stream()
.filter(obj -> obj instanceof String)
.map(String::valueOf)
.collect(Collectors.toList());
这段代码会将 objectList 中所有的字符串提取出来,放入一个新的 stringList 中。
一个对象集合 现在用stream流中将对象的某一个字段变为单独的字符串集合
可以使用Java 8的Stream流来将对象集合中的某一个字段变为单独的字符串集合。假设对象类为`Person`,字段为`name`,可以按照以下方式实现:
```java
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Person> people = List.of(
new Person("John"),
new Person("Jane"),
new Person("Alice")
);
List<String> names = people.stream()
.map(Person::getName) // 提取name字段
.collect(Collectors.toList());
System.out.println(names);
}
static class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
```
运行以上代码,输出结果为:`[John, Jane, Alice]`。在这个例子中,我们通过`map()`方法将每个`Person`对象映射为其`name`字段的值,然后使用`collect()`方法将这些值收集到一个新的`List`中。
阅读全文