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());
}
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']
}