我有一个 HashSet,其中包含我从数据库中检索到的所有组。我被要求通过删除两个特定组来过滤此结果。这似乎微不足道,但我似乎无法想出一个可靠的解决方案来存储我想要过滤掉的特定组。
我的想法是创建一个数组,其中包含对我需要过滤掉的两个组的引用。然后我可以用数组中的任何内容过滤掉我的搜索查询。我担心的是,将来他们可能会要求过滤掉更多的组,也许数组可能不是一个好主意。
//Creates the array containing groups to filter out
String[] hiddenGroups = {"group1","group2"};
//retrieves all groups
Set<String>allGroups = new HashSet<String>();
allGroups.addAll(authorityService.getAllAuthorities(AuthorityType.GROUP);
List<String>results = new ArrayList<String>();
//filters out specified groups
for (String group : allGroups) {
boolean isHidden = false;
for (String hiddenGroup : hiddenGroups) {
if (hiddenGroup.equalsIgnorecase(group)) {
isHidden = true;
}
}
if (!isHidden){
results.add(group);
}
}