两个List<Long>判断是否有重复值
时间: 2024-09-09 15:08:48 浏览: 56
java-判断题.doc
判断两个`List<Long>`是否有重复值,你可以通过多种方法来实现:
1. **使用Set**:将其中一个列表转换成`Set`,由于集合不允许有重复元素,如果转换后的集合大小小于原列表长度,则说明存在重复值。示例代码如下:
```java
Set<Long> set = new HashSet<>(list1);
if (set.size() != list1.size()) {
System.out.println("列表1中有重复值");
}
```
同样地,对第二个列表做同样的操作。
2. **使用Java 8 Stream API**:
```java
if (!list1.stream().distinct().equals(list1)) {
System.out.println("列表1中有重复值");
}
```
如果两个列表的流处理后的结果不相等,说明有重复。
3. **循环遍历**:
可以通过嵌套循环,检查第一个列表的每个元素是否存在于第二个列表中,或者反之。
4. **使用Guava库**:
如果项目中使用了Google Guava库,可以使用`Lists.difference()`函数找出两个列表之间的差异,如果有非空结果,说明有重复。
对于性能考虑,如果数据量大,使用Set或者Stream API的方式通常更快。
阅读全文