У меня есть 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);
}
}