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
。