根据planeCode获取rawList中的对象集合
时间: 2024-09-13 16:15:14 浏览: 30
如果你想根据`planeCode`获取`List<ProProcessRaw>` `rawList`中的特定对象集合,可以创建一个新的列表并过滤出来。假设`planeCode`是一个字符串,这里有一个示例:
```java
List<ProProcessRaw> planeCodeObjects = rawList.stream() // 使用Stream API
.filter(raw -> raw.getPlaneCode().equals(planeCode)) // 过滤出planeCode匹配的元素
.collect(Collectors.toList()); // 收集成新的List
// 或者使用传统循环:
List<ProProcessRaw> planeCodeObjects = new ArrayList<>();
for (ProProcessRaw raw : rawList) {
if (raw.getPlaneCode().equals(planeCode)) {
planeCodeObjects.add(raw);
}
}
```
在这个结果中,`planeCodeObjects`就是原始列表中所有`planeCode`属性等于指定`planeCode`值的`ProProcessRaw`对象的集合。
相关问题
List<ProProcessRaw> rawList = proProcess.getRawList();获取这个list中字段planeCode的去重list
要在Java中获取`List<ProProcessRaw>`类型的`rawList`中`planeCode`字段的去重列表,你可以使用Java 8的Stream API或者传统的集合操作。以下是两种方法:
**使用Stream API:**
```java
Set<String> uniquePlaneCodes = rawList.stream()
.map(ProProcessRaw::getPlaneCode) // 获取每个元素的planeCode
.collect(Collectors.toSet()); // 转换为Set,自动去除重复
List<String> planeCodeListWithoutDuplicates = new ArrayList<>(uniquePlaneCodes); // 将Set转换回List
```
**使用传统集合操作:**
```java
Set<String> uniquePlaneCodes = new HashSet<>();
for (ProProcessRaw raw : rawList) {
String planeCode = raw.getPlaneCode();
if (!uniquePlaneCodes.contains(planeCode)) {
uniquePlaneCodes.add(planeCode);
}
}
List<String> planeCodeListWithoutDuplicates = new ArrayList<>(uniquePlaneCodes);
```
在这两个例子中,我们首先遍历原始列表,提取出每个元素的`planeCode`,然后存储在一个Set中,因为Set不允许有重复元素。最后,将Set转换回List以便于进一步操作。
阅读全文