Java 过滤出集合中的记录
我有一个构造函数,它是这样定义的。现在我想过滤掉一些记录,如下面的注释(代码中)所述,请就如何实现这一点提供建议Java 过滤出集合中的记录,java,set,Java,Set,我有一个构造函数,它是这样定义的。现在我想过滤掉一些记录,如下面的注释(代码中)所述,请就如何实现这一点提供建议 public class A { private HashSet<Integer> readPermissionGroup = new HashSet<Integer>(); //constructor A { this.readPermissionGroup.add(10); this.r
public class A
{
private HashSet<Integer> readPermissionGroup = new HashSet<Integer>();
//constructor
A
{
this.readPermissionGroup.add(10);
this.readPermissionGroup.add(11);
this.readPermissionGroup.add(15);
this.readPermissionGroup.add(16);
}
// ...
}
公共A类
{
私有HashSet readPermissionGroup=new HashSet();
//建造师
A.
{
此.readPermissionGroup.add(10);
此.readPermissionGroup.add(11);
此.readPermissionGroup.add(15);
此.readPermissionGroup.add(16);
}
// ...
}
下面是另一段代码,它正在执行一些操作,如下所示
Set<Group> groups = user.getGroups();
for (Group group : groups) {
//?? now here I want to filter out the records where g.id not in (10,11,15,15)
//?? right now it is doing the opposite
if (readPermissionGroup.contains(group.getId())) // i want to filter those record whose
// value is not
// 10,11,15,16
{
hasAccess = true;
break;
}
}
return hasAccess;
Set groups=user.getGroups();
对于(组:组){
//??现在我想过滤掉g.id不在(10,11,15,15)中的记录
//?现在它正在做相反的事情
if(readPermissionGroup.contains(group.getId())//我想筛选那些
//价值不是
// 10,11,15,16
{
hasAccess=true;
打破
}
}
返回通道;
使用非代码>在您的条件前面或还原您的布尔值:
if (!readPermissionGroup.contains(group.getId()))