gpt4 book ai didi

java - 在ArrayList中查找ArrayList元素

转载 作者:行者123 更新时间:2023-11-30 03:35:21 25 4
gpt4 key购买 nike

我有两个 enum Action 类型的 ArrayList userActionsactionsToCheck

我想检查 actionsToCheck 中的所有元素是否都存在于 userActions 中。

以下方法足够好还是有更好的方法?

private boolean actionsAllowed(ArrayList<Action> userActions, ArrayList<Action> actionsToCheck){
return actionsToCheck.stream().allMatch(action-> actionAllowed(userActions,action));
}

private boolean actionAllowed(ArrayList<Actions> userActions, Action action){
return userActions.stream().anyMatch(userAction -> userAction == action);
}

ArrayList<Actions> userAction=new ArrayList<>();
userAction.add(ADD_USER);
userAction.add(DELETE_USER);
userAction.add(MODIFY_USER);

ArrayList<Actions> actionsToCheck=new ArrayList<>();
actionsToCheck.add(ADD_USER);
actionsToCheck.add(DELETE_USER);

actionsAllowed(userAction,actionsToCheck) //should return true

最佳答案

您可以简单地使用Collection.containsAll(collection)来进行检查。

此外,我建议使用 EnumSet 而不是 ArrayList

关于java - 在ArrayList中查找ArrayList元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076432/

25 4 0