List<Long>去重
时间: 2024-05-21 13:11:34 浏览: 199
可以使用Java 8的stream和distinct方法来实现List<Long>去重,示例代码如下:
List<Long> list = Arrays.asList(1L, 2L, 3L, 2L, 4L);
List<Long> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); // Output: [1, 2, 3, 4]
相关问题
java 两个List<Long> 去重
在Java中,对于两个List<Long>,可以采用以下两种方式进行去重:
1. 通过HashSet去重
对于两个List<Long>,可以将它们分别转换为HashSet<Long>,再将这两个Set合并为一个Set,最后再将Set转换为List<Long>,即可去重。具体实现如下:
```java
List<Long> list1 = new ArrayList<Long>();
// 添加元素到list1中
List<Long> list2 = new ArrayList<Long>();
// 添加元素到list2中
Set<Long> set = new HashSet<Long>(list1);
set.addAll(list2);
List<Long> resultList = new ArrayList<Long>(set);
```
2. 通过Java 8 Stream API去重
对于两个List<Long>,可以先将这两个List合并为一个List,再通过Java 8 Stream API进行去重操作,具体实现如下:
```java
List<Long> list1 = new ArrayList<Long>();
// 添加元素到list1中
List<Long> list2 = new ArrayList<Long>();
// 添加元素到list2中
List<Long> resultList = Stream.of(list1, list2)
.flatMap(x -> x.stream())
.distinct()
.collect(Collectors.toList());
```
以上两种方式均可以实现对两个List<Long>的去重操作,使用哪种方式取决于具体的需求和实现场景。
要把List<TenantArea> result 里面的province_id字段和city_id和area_id 分别存入list<Long> ids中去重
你可以通过以下步骤将`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());
}
```
阅读全文