定义一个List集合,里面的元素为"22","31","64","27","37","18" 使用流操作对元素类型进行转换(字符串类型转换成数值类型),然后过滤出偶数的元素并打印
时间: 2024-01-05 20:20:32 浏览: 95
要实现这个需求,可以使用Java 8引入的Stream API来进行操作。首先,你需要将字符串类型的元素转换成数值类型,然后过滤出偶数的元素并打印。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("22", "31", "64", "27", "37", "18");
List<Integer> evenNumbers = list.stream()
.map(Integer::parseInt) // 将字符串转换成整数
.filter(num -> num % 2 == 0) // 过滤出偶数
.collect(Collectors.toList()); // 将结果收集到List中
System.out.println(evenNumbers);
}
}
```
运行以上代码,输出结果为:[22, 64, 18],即过滤出的偶数元素。
解释:
1. 首先,我们创建了一个List对象,并使用`Arrays.asList()`方法初始化了列表。
2. 然后,我们使用`stream()`方法将List转换成一个流。
3. 使用`map()`方法将流中的每个元素都转换成整数类型,这里使用了方法引用`Integer::parseInt`来将字符串转换成整数。
4. 使用`filter()`方法过滤出偶数元素,这里使用了Lambda表达式`num -> num % 2 == 0`来判断是否为偶数。
5. 最后,使用`collect()`方法将过滤出的元素收集到一个新的List中。
6. 最后,我们打印出过滤出的偶数元素。
阅读全文