Collections集合处理

本文介绍Java中集合操作的几种实用技巧,包括如何判断用户所在部门及其子部门、判断两个集合是否有交集、从集合中提取特定字段及如何在不同数据表间进行数据过滤与新增操作。
1、判断用户所在部门是否在部门和其子部门下
List<String> orders=new ArrayList<>();
orders.add(“123");
orders.add(“456");
String orgId=“123”;
int count = Collections.frequency(orders,orgId);
count > o 成立 count <= 0不成立
2、判断两个集合是否有交集
List<String> commodityCodes
List<String> orderCommoditiesCodes
boolean comm=Collections.disjoint(commodityCodes,orderCommoditiesCodes);
comm 为true 没有交集 false 表示有交集
3、在一个集合对象中 取出其中一个字段的格式为”aaa”,”bbb”,”ccc”,
List<String> commodityCodes = new ArrayList<>();
List<ActivityCommodity> commoditys = activityCommodityRepsitory.findByActivityId(activity.getId());
if (commoditys != null && commoditys.size() > 0) {
for (ActivityCommodity commodity : commoditys) {
commodityCodes.add(commodity.getCommodityCode());
}
}
activityDto.setCommodityCodes(commodityCodes);
结果:
activityDto:{
commodityCodes:{
                    ”aaa”,”bbb”,”ccc”,
          }
}
4、两个集合对象的实体字段相同,但是操作的都是不同的数据表 ,把相同ID的过滤掉,新增集合1的时候集合2也同时新增且其他自身的值不变:
List<User> user1=new ArrayList<>(); ==>[id=123,userName=名字1’,age=’12],[id=123,userName=名字3’,age=’12],[id=123,userName=名字4’,age=’12']
List<User> user2=new ArrayList<>(); ==>[id=123,userName=名字1’,age=’]
List<String> oldUserId = new ArrayList<String>();//定义一个存储字段user2的Id
for (User oldUser : user2) {
oldUserId.add(oldUser.getId());//把user2的Id放在一个集合中
}
List<User> addUser = new ArrayList<User>();//定义一个空集合来放user2中没有的数据
boolean isEquels = false;
for (User newUser : user1) {
if (oldUserId.contains(newUser.getId())) {
isEquels = true;//判断user2的Id集合中是否包括了新增的User1中的id,包括继续循环,否则放在新增空集合中
} else {
addUser.add(newUser);
}
}
if (addUser.size() > 0) {
//新增到user2相对应的数据表addUser[id=123,userName=名字3’,age=’12],[id=123,userName=名字4’,age=’12']
}
 

转载于:https://www.cnblogs.com/lsz1349yw/p/7479051.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值