要把List<TenantArea> result 里面的province_id字段和city_id和area_id 分别存入list<Long> ids中去重
时间: 2024-09-28 17:03:40 浏览: 29
你可以通过以下步骤将`result`列表中的`province_id`, `city_id`, 和 `area_id` 存储到三个不同的`List<Long>`中,并自动去重:
1. 首先,创建三个空的`List<Long>`来存储id值,例如:
```java
List<Long> provinceIds = new ArrayList<>();
List<Long> cityIds = new ArrayList<>();
List<Long> areaIds = new ArrayList<>();
```
2. 使用遍历或流式处理的方式,对于`TenantArea`对象的集合`result`:
```java
for (TenantArea tenantArea : result) {
provinceIds.add(tenantArea.getProvince_id());
cityIds.add(tenantArea.getCity_id());
areaIds.add(tenantArea.getArea_id());
}
```
或者使用Java 8的Stream API:
```java
result.stream()
.map(TenantArea::getProvince_id)
.distinct()
.collect(Collectors.toList(), provinceIds::add);
result.stream()
.map(TenantArea::getCity_id)
.distinct()
.collect(Collectors.toList(), cityIds::add);
result.stream()
.map(TenantArea::getArea_id)
.distinct()
.collect(Collectors.toList(), areaIds::add);
```
3. 这样,每个列表`provinceIds`, `cityIds`, 和 `areaIds` 就包含了对应id字段的不同值,去重操作已经在收集过程中完成。
4. 如果需要进一步确认无重复,可以在添加到列表之前检查id是否已经存在:
```java
if (!provinceIds.contains(provinceArea.getProvince_id())) {
provinceIds.add(provinceArea.getProvince_id());
}
```
阅读全文