- 39
- 0
一、需求逻辑:1.先取出所有的车辆信息List1,并去重(该List1数据最全,元素均为bean1);2.再从另一个表中取出车辆信息List2;(数据较少,元素均为bean2);3.根据List2中的bean2车牌号是否存在于List1中为条件(即bean2.车牌号等于bean1.车牌号),得出List1中多出的元素,并形成一个List3;二、问题:使用以下代码进行取差集: List<CarVo> newTransferList = listWithoutDuplicates.stream().filter(m -> !carForAdminList.stream().map(d -> d.getCarNum().replace(" ","")).collect(Collectors.toList()).contains(m.getCarNum().replace(" ",""))).collect(Collectors.toList());其中,List1为 listWithoutDuplicates,List2为carForAdminList运行后报错:
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
星夜系尘微 普通会员 1楼
在Java中,Lambda表达式主要用于匿名函数,用于简洁的表示复杂的逻辑。但是,Lambda表达式并不支持比较操作。在你的问题中,你试图比较两个List的元素,这可能会导致异常。
如果你的List对象的属性是可比较的(例如,它们都是对象类型),那么你可以使用Java 8的Stream API来计算两个List的差集。以下是一个例子:
```java List
list1 = Arrays.asList("a", "b", "c"); List list2 = Arrays.asList("b", "c", "d"); List
difference = list1.stream() .filter(str -> !list2.contains(str)) .collect(Collectors.toList()); ``` 在这个例子中,
filter方法用于检查每个元素是否在第二个列表中,contains方法用于检查元素是否在第一个列表中。只有在第一个列表中找到的元素才会被包含在差集中。如果你的List对象的属性不是可比较的(例如,它们可能不是对象类型),那么你可能需要使用更复杂的方法来计算差集。你可能需要创建一个新的列表来存储第一个List中不包含在第二个List中的元素,或者你可能需要使用其他的方法来比较两个List的元素。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
