java 一个list对象根据另外一个list里面某个字段值过滤
时间: 2023-05-14 18:07:20 浏览: 124
可以使用Java 8的Stream API来实现。假设我们有一个List<Person>对象,其中Person类有一个字段age,我们想要根据另一个List<Integer> ages来过滤出age在ages中的Person对象,可以这样写:
List<Person> filteredList = personList.stream()
.filter(person -> ages.contains(person.getAge()))
.collect(Collectors.toList());
其中,ages是另一个List<Integer>对象,personList是我们要过滤的List<Person>对象。这段代码会返回一个新的List<Person>对象,其中只包含age在ages中的Person对象。
相关问题
java 两个list对象根据某个字段值过滤
可以使用 Java 8 的 Stream API 来实现两个 List 对象根据某个字段值过滤,具体代码如下:
```
List<ObjectA> listA = new ArrayList<>();
List<ObjectB> listB = new ArrayList<>();
// 过滤条件
String filterField = "fieldName";
String filterValue = "fieldValue";
List<ObjectA> filteredListA = listA.stream()
.filter(a -> a.getFieldName().equals(filterValue))
.collect(Collectors.toList());
List<ObjectB> filteredListB = listB.stream()
.filter(b -> b.getFieldName().equals(filterValue))
.collect(Collectors.toList());
```
其中,`ObjectA` 和 `ObjectB` 分别代表两个 List 中的对象,`getFieldName()` 方法返回对象中需要过滤的字段值。`filter()` 方法根据过滤条件过滤对象,`collect()` 方法将过滤后的对象收集到新的 List 中。
java list对象,根据字段最大值,过滤出新的list
好的,这是一个关于Java List对象的问题,可以为您提供帮助。您可以使用Java 8的stream API来过滤List对象。具体操作可以参考以下代码:
```
// 原始的List
List<SomeObject> list = new ArrayList<SomeObject>();
// 使用stream API过滤List对象,根据字段最大值过滤
List<SomeObject> filteredList = list.stream()
.filter(o -> o.getField() < maxValue)
.collect(Collectors.toList());
```
其中,SomeObject表示List中的对象类型,getField()方法表示获取某个字段值的方法,maxValue表示要过滤的最大值。执行完该代码后,filteredList将是一个新的List对象,其中只包含字段值小于maxValue的原始对象。