在Java中,使用Stream API的collect()
方法可以将流中的元素收集到一个集合中。要进行类型转换,你需要使用map()
方法将流中的元素转换为目标类型,然后再使用collect()
方法将它们收集到一个集合中。
以下是一个示例,演示了如何将一个Stream<String>
转换为Stream<Integer>
,然后将其收集到一个List<Integer>
中:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> stringList = Arrays.asList("1", "2", "3", "4", "5");
// 使用map()方法将Stream<String>转换为Stream<Integer>
List<Integer> integerList = stringList.stream()
.map(Integer::parseInt)
.collect(Collectors.toList());
System.out.println(integerList);
}
}
在这个示例中,我们首先创建了一个包含字符串的列表stringList
。然后,我们使用stream()
方法创建了一个Stream<String>
。接下来,我们使用map()
方法将流中的每个字符串元素转换为整数,使用Integer::parseInt
方法引用。最后,我们使用collect()
方法将转换后的整数流收集到一个List<Integer>
中。
运行此代码将输出以下内容:
[1, 2, 3, 4, 5]
这表明我们已成功地将Stream<String>
转换为Stream<Integer>
,并将其收集到一个List<Integer>
中。