Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 - Fatal编程技术网

Java 如何通过列表中的值从列表中获取类?

Java 如何通过列表中的值从列表中获取类?,java,Java,我有一个类,它存储组对单个元素的权限。在其中,我还为单个组的权限集设置了类。解决方案很简单 但我不知道如何使用其中的值(在group\u id中)获取单个权限集。我该怎么做 public class PermissionsData { private List<PermissionsDataSingle> permissionsData; PermissionsData(List<PermissionsDataSingle> permissionsDat

我有一个类,它存储组对单个元素的权限。在其中,我还为单个组的权限集设置了类。解决方案很简单

但我不知道如何使用其中的值(在
group\u id
中)获取单个权限集。我该怎么做

public class PermissionsData {
    private List<PermissionsDataSingle> permissionsData;

    PermissionsData(List<PermissionsDataSingle> permissionsData) {
        this.permissionsData = permissionsData;
    }

    public PermissionsDataSingle getPermissionsByGroupID(int group_id) {
        // ToDo
    }

    public class PermissionsDataSingle {
        public int group_id;
        public boolean canView;
        public boolean canRead;
        public boolean canReply;
        public boolean canStart;
        public boolean canUpload;
        public boolean canDownload;
        PermissionsDataSingle(int group_id, boolean canView, boolean canRead, boolean canReply, boolean canStart, boolean canUpload, boolean canDownload) {
            this.group_id = group_id;
            this.canView = canView;
            this.canRead = canRead;
            this.canReply = canReply;
            this.canStart = canStart;
            this.canUpload = canUpload;
            this.canDownload = canDownload;
        }
    }
}
公共类许可数据{
私人名单许可证数据;
许可数据(列表许可数据){
this.permissionsData=permissionsData;
}
公共权限DataSingle getPermissionsByGroupID(int group_id){
//待办事项
}
公共类许可证数据单{
公共int组id;
公众视野;
公共布尔可读;
公开答复;
公共启动;
公共上传;
公共交通负荷;
PermissionsDataSingle(int group_id、布尔canView、布尔canRead、布尔canReply、布尔canStart、布尔canUpload、布尔canDownload){
this.group\u id=group\u id;
this.canView=canView;
this.canRead=canRead;
this.canReply=canReply;
this.canStart=canStart;
this.canUpload=canUpload;
this.canDownload=canDownload;
}
}
}

如果列表总是很短,您可以简单地遍历它并检查每个条目的组id。否则最好使用地图

for (PermissionsDataSingle pds : permissionsData) {
    if (pds.group_id == group_id) {
        return pds;
    }
}
// Not found
不要使用
列表
。使用
映射
,其中键是
组id
。如果顺序不重要,则将其设置为
HashMap
;如果顺序重要,则将其设置为
LinkedHashMap
。如果多个
PermissionsDataSingle
对象可以共享相同的
group\u id
值,那么请使用番石榴并使用
HashMultimap