java使用Stream流对list中的数据进行过滤,把不为空的数据过滤掉
时间: 2024-06-04 22:10:21 浏览: 25
可以使用filter方法来实现对list中数据的过滤,示例代码如下:
List<String> list = Arrays.asList("apple", null, "banana", "", "orange", null);
List<String> filteredList = list.stream().filter(str -> str != null && !str.isEmpty()).collect(Collectors.toList());
在上面的代码中,我们首先创建了一个包含了null和空字符串的list,然后使用stream()方法创建一个Stream流,通过filter方法对每个元素进行筛选,只保留非空字符串,最后通过collect(Collectors.toList())来将筛选后的元素收集为一个新的List。
相关问题
java使用Stream流对list中的数据进行过滤,过滤条件需要查询数据库取值进行判断如何写
Java中使用Stream流对list中的数据进行过滤,可以通过调用filter()方法并传入一个Predicate作为参数来实现。在Predicate中,可以通过查询数据库取值进行判断,例如:
List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
List<String> filteredList = list.stream()
.filter(s -> {
// 调用数据库进行判断,如果s满足条件则返回true,否则返回false
return db.query("SELECT * FROM fruits WHERE name = '" + s + "' AND color = 'red'") != null;
})
.collect(Collectors.toList());
在上述代码中,query()方法是一个模拟的数据库查询方法,根据名字和颜色进行条件查询,如果查询结果不为空,则过滤条件返回true,否则返回false。最终使用collect()方法将过滤后的结果收集到一个新的List中返回。
Java 中 stream流怎么过滤掉重复数据
可以使用 distinct() 方法来过滤掉重复数据。例如,对一个 List 进行去重可以这样写:
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 4, 5);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
这样,distinctList 中就只包含了 1, 2, 3, 4, 5 这几个元素,重复的元素被过滤掉了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)