gpt4 book ai didi

java - 检查列表是否至少包含另一个 - 枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:10:03 25 4
gpt4 key购买 nike

我有一个枚举:

public enum PermissionsEnum {
ABC("Abc"),
XYZ("Xyz"),
....
}

然后我有一个枚举列表。我想检查我的列表是否至少有一个枚举。我目前通过迭代方法检查它。我也知道有一种方法可以使用 || 检查 list.contains(enum.ABC..) || list.contains(enum.XYZ)|| ...

有更好的方法吗?

This question展示了如果目标列表是一个字符串列表如何做到这一点,如果该列表是另一个枚举列表,我想获得匹配状态。

最佳答案

Collections.disjoint 如果两个指定的集合没有共同的元素,则返回 true。如果它返回 false,那么您的列表至少有一个枚举。

boolean contains = !Collections.disjoint(list, EnumSet.allOf(PermissionsEnum.class)));

Stream API 方法可以是:

EnumSet<PermissionsEnum> set = EnumSet.allOf(PermissionsEnum.class);
boolean contains = list.stream().anyMatch(set::contains);

(类似于迭代方法,但包含并行化)

关于java - 检查列表是否至少包含另一个 - 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49772441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com