一个java list对象集合 对象里面有一个字段为state 如果state包含很多个 1或者2 就取一个1 如果没有1都是2 就取一个2
时间: 2024-05-08 17:16:08 浏览: 19
您可以使用Java 8的流式API来实现此目的。以下是一个示例代码:
```
List<YourObject> objects = ... // your list of objects
Optional<YourObject> result = objects.stream()
.filter(o -> o.getState().contains("1")) // filter objects with state containing 1
.findFirst(); // get the first object matching the filter
if (result.isPresent()) {
// found an object with state containing 1
YourObject selectedObject = result.get();
} else {
// no object with state containing 1, select one with state containing 2
Optional<YourObject> result2 = objects.stream()
.filter(o -> o.getState().contains("2"))
.findFirst();
if (result2.isPresent()) {
YourObject selectedObject = result2.get();
} else {
// no object with state containing 2 either
// handle this case accordingly
}
}
```
该代码首先使用流式API过滤出state包含1的对象,如果有则选择第一个,如果没有则过滤出state包含2的对象,如果有则选择第一个。如果没有state包含1或2的对象,则需要根据您的具体需求进行处理。