list用stream的写法过滤空的数据
时间: 2024-05-28 21:09:23 浏览: 39
你可以用stream的filter方法来过滤空的数据,通过lambda表达式判断数据是否为空,然后使用collect方法将过滤后的数据收集到一个新的List中。
以下是示例代码:
List<String> list = Arrays.asList("a", "", "b", "", "c");
List<String> filteredList = list.stream().filter(str -> !str.isEmpty()).collect(Collectors.toList());
在这个例子中,我们首先定义一个包含空和非空字符串的List,然后使用stream的filter方法过滤空的数据。在lambda表达式中,我们使用!str.isEmpty()来判断数据是否为空。最后,我们使用collect方法将过滤后的数据收集到一个新的List中。
filteredList中包含了初始List中的所有非空字符串,而空字符串被过滤掉了。
相关问题
list.stream().filter写法
在Java 8中,可以使用Stream API来对集合进行操作。其中,filter()方法可以用于过滤集合中的元素。下面是一个示例代码,演示了如何使用filter()方法来过滤一个整数列表中的偶数元素:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]
```
在上面的代码中,我们首先创建了一个整数列表numbers,然后使用stream()方法将其转换为一个流。接着,我们使用filter()方法来过滤出其中的偶数元素,最后使用collect()方法将过滤后的结果收集到一个新的列表中。
Java for循环一个list几种写法
在 Java 中,使用 for 循环遍历一个 List 集合可以用以下几种写法:
1. 使用 for 循环遍历 List 集合中的每个元素,可以使用 List 的 size() 方法获取 List 的大小:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
for (int i = 0; i < list.size(); i++) {
String fruit = list.get(i);
System.out.println(fruit);
}
```
2. 使用 for-each 循环遍历 List 集合中的每个元素:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
for (String fruit : list) {
System.out.println(fruit);
}
```
3. 使用 Java 8 中的 Stream API 对 List 集合进行遍历和操作:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
list.stream().forEach(fruit -> {
System.out.println(fruit);
});
```
以上三种方式都可以用来遍历 List 集合中的每个元素。其中,第二种方式使用起来比较方便,而第三种方式则更加灵活,可以通过 Stream API 对 List 集合进行各种操作,例如过滤、映射、排序等。在实际开发中,可以根据具体需求选择合适的方式来处理 List 集合。