public class TzglInvestmentPlanProjectEntity { private String projectId; private BigDecimal investmentTotalMoney; private BigDecimal investmentYearMoney; } 现有两个list List<TzglInvestmentPlanProjectEntity> planProjectList; List<TzglInvestmentPlanProjectEntity> planProjectList2; 两个list中projectId相同的数据,把planProjectList中的investmentTotalMoney和investmentYearMoney赋值给planProjectList2
时间: 2024-03-21 09:42:45 浏览: 16
可以使用循环遍历两个List,找到projectId相同的数据,然后将investmentTotalMoney和investmentYearMoney赋值给planProjectList2中对应的数据。可以按照以下步骤来实现:
```
for(TzglInvestmentPlanProjectEntity entity1 : planProjectList) {
for(TzglInvestmentPlanProjectEntity entity2 : planProjectList2) {
if(entity1.getProjectId().equals(entity2.getProjectId())) {
entity2.setInvestmentTotalMoney(entity1.getInvestmentTotalMoney());
entity2.setInvestmentYearMoney(entity1.getInvestmentYearMoney());
break;
}
}
}
```
这里使用了两个for循环来遍历两个List,如果找到了projectId相同的数据,则将对应的investmentTotalMoney和investmentYearMoney赋值给planProjectList2中对应的数据。注意,如果找到了相同的数据,可以使用break语句来提高效率。
相关问题
现有两个list List<TzglInvestmentPlanProjectEntity> planProjectList; List<TzglInvestmentPlanProjectEntity> planProjectList2; 对比两个list,取出planProjectList中projectId在planProjectList2中没有的
可以使用Java 8的流式操作来实现这个需求,具体代码如下:
```
List<TzglInvestmentPlanProjectEntity> differenceList = planProjectList.stream()
.filter(project -> planProjectList2.stream()
.noneMatch(project2 -> project.getProjectId().equals(project2.getProjectId())))
.collect(Collectors.toList());
```
上述代码中,首先使用stream()方法将planProjectList转换为一个流,然后使用filter()方法过滤出projectId在planProjectList2中没有的项目,最后使用collect()方法将过滤后的项目收集到一个新的List中。
需要注意的是,上述代码中的TzglInvestmentPlanProjectEntity需要根据实际情况进行替换。
List<Map<String, Object>> gdzcList;请取出gdzcList中key为projectId的value值,为list
你可以使用循环遍历`gdzcList`列表中的每个`Map`元素,并通过`get()`方法获取对应`key`为`projectId`的值。然后将这些值添加到一个新的`List`中。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
List<Map<String, Object>> gdzcList = new ArrayList<>(); // 假设gdzcList是已经存在的列表
// 创建一个新的列表来存储projectId的值
List<Object> projectIdList = new ArrayList<>();
// 遍历gdzcList列表中的每个Map元素
for (Map<String, Object> map : gdzcList) {
// 获取projectId的值
Object projectId = map.get("projectId");
// 将projectId的值添加到列表中
if (projectId != null) {
projectIdList.add(projectId);
}
}
// 输出projectId的值列表
System.out.println("projectId的值列表:" + projectIdList);
}
}
```
在上述示例代码中,假设`gdzcList`是一个已经存在的`List<Map<String, Object>>`类型的列表。通过遍历`gdzcList`中的每个`Map`元素,使用`get("projectId")`方法获取对应的值,并将其添加到`projectIdList`列表中。最后,输出`projectIdList`列表中的值。