Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 过滤出集合中的记录_Java_Set - Fatal编程技术网

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()))