两个list集合对象,根据某一A集合中对象id判断是否在另一个B集合对象的id中是否有重复,取A集合中有,B集合中没有的对象

/**
* <p> 二级菜单修改,新增没有菜单项id,删除的就是比全部的少id,修改的有菜单项id</p>
*
* @param args
*/
public static void main(String[] args) {
/**The paper come zhongjue shallow, and must know this to practice
* 数据库
*/
ArrayList<FloorElement> elements = new ArrayList<>();

FloorElement element1 = new FloorElement();
element1.setFloorId(1l);

FloorElement element2 = new FloorElement();
element2.setFloorId(2l);

FloorElement element3 = new FloorElement();
element3.setFloorId(3l);
elements.add(element1);
elements.add(element2);
elements.add(element3);
/**
* 页面
*/
ArrayList<SecondaryMenuItemsVo> itemsVos = new ArrayList<>();
//新增
SecondaryMenuItemsVo vo = new SecondaryMenuItemsVo();
SecondaryMenuItemsVo vo4 = new SecondaryMenuItemsVo();
vo4.setElementName("e");
itemsVos.add(vo4);
vo.setElementName("二级菜单");
//修改
SecondaryMenuItemsVo vo2 = new SecondaryMenuItemsVo();
vo2.setFloorId(3l);
itemsVos.add(vo);
itemsVos.add(vo2);

//为空的就是新增
List<SecondaryMenuItemsVo> newElement = itemsVos.stream().filter(x -> x.getFloorId() == null).collect(Collectors.toList());

// 共有的数据就是修改
//实际上,
List<Long> aIds = itemsVos.stream().map(SecondaryMenuItemsVo::getFloorId).collect(Collectors.toList());
//数据库
List<Long> bIds = elements.stream().map(FloorElement::getFloorId).collect(Collectors.toList());
List<Long> collect3 = aIds.stream().filter(num -> bIds.contains(num))
.collect(Collectors.toList());
bIds.removeAll(collect3);
//删除的元素
System.out.println(bIds);

}
posted @   三号小玩家  阅读(568)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示