Javalist集合过滤空对象
时间: 2023-07-20 10:45:31 浏览: 61
可以使用Java 8中的Stream API来过滤空对象。下面是一个示例代码:
```java
List<Object> list = Arrays.asList("a", null, "b", null, "c");
List<Object> filteredList = list.stream()
.filter(obj -> obj != null)
.collect(Collectors.toList());
```
这个示例代码创建了一个包含一些空对象的列表。然后,使用Stream API中的`filter()`方法过滤掉空对象,并使用`collect()`方法将结果转换回一个列表。最终,`filteredList`将只包含非空对象。
相关问题
java 过滤list不重复对象数据
可以使用Java 8的Stream API来过滤List中不重复的对象数据。假设有一个名为Person的类,其中包含id和name两个属性,现在需要过滤List<Person>中不重复的Person对象数据,可以这样实现:
```java
List<Person> personList = ... // 原始List
List<Person> distinctList = personList.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getId))),
ArrayList::new
));
```
上述代码中,使用Stream的collect方法进行聚合操作,其中Collectors.toCollection方法接收一个Supplier参数,返回一个新的集合对象(这里使用TreeSet来保证Person的id不重复),然后将聚合结果转换为ArrayList对象返回。这样就可以得到一个不含重复Person对象的List了。
提取javaList集合对象中不为空的字符串
可以使用Java 8的Stream API来实现这个功能,具体代码如下:
List<String> list = Arrays.asList("hello", null, "world", null, "java");
List<String> result = list.stream()
.filter(str -> str != null && !str.isEmpty())
.collect(Collectors.toList());
System.out.println(result);
输出结果为:[hello, world, java]
这段代码首先将一个包含了null和空字符串的List<String>对象创建出来,然后使用Stream API中的filter()方法过滤掉了其中的null和空字符串,最后使用collect()方法将过滤后的结果收集到一个新的List<String>对象中。