Java代码如何判断两个list集合中是否有一样的id
时间: 2024-03-03 11:47:09 浏览: 90
可以使用Java8的Stream API来判断两个list集合中是否有相同的id。具体实现如下:
假设有两个List对象,分别为list1和list2,每个对象都有一个getId()方法来获取id值。
```java
boolean hasSameId = list1.stream().map(Object::getId).anyMatch(list2.stream().map(Object::getId)::contains);
```
上述代码中,首先使用list1的stream()方法来创建一个Stream对象,然后使用map()方法将每个元素映射为id值。接着使用anyMatch()方法来判断list2的stream()对象中是否包含这些id值,如果存在则返回true,否则返回false。
需要注意的是,上述代码中Object::getId表示获取对象的id值,可以根据实际情况替换为其他方法。同时,如果list1和list2非常大,上述代码的性能可能不太理想,可以考虑使用并发流来提高效率。
相关问题
判断俩个list集合内容是否相等,顺序可以不一样,集合内容一样即可 java
可以使用Java中的Collection接口提供的equals方法判断两个集合是否相等,此方法会判断两个集合中的元素是否一一对应相等,且顺序可以不同。示例代码如下:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(3, 5, 2, 4, 1);
boolean isEqual = list1.containsAll(list2) && list2.containsAll(list1);
System.out.println(isEqual); // true
```
上述代码中,我们先将两个List集合中的元素分别放入list1和list2中,然后通过containsAll方法判断两个集合中的元素是否完全一致,包括元素顺序不同的情况。如果两个集合完全一致,那么返回true,否则返回false。
阅读全文