java 如何检查特定值是否在给定的值列表中?[duplicate]

pu3pd22g  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(161)
    • 此问题在此处已有答案**:

Is there a simpler way to check multiple values against one value in an if-statement? [duplicate](12个答案)
How do I determine whether an array contains a particular value in Java?(30个答案)
3天前关闭。
我正在寻找C#的new[] { 0, 2, 3, 5, 6, 7, 8, 9 }.Contains(digit)的Java等价物。
我知道我可以用这样的东西,但我宁愿用更简洁的东西:

if (digit == 0 || digit == 2 || digit == 3 || digit == 5 || digit == 6 || digit == 7 || digit == 8 || digit == 9)
{
}
bvuwiixz

bvuwiixz1#

一个月

    • 如果要在List中搜索:**
List<Integer> nums = List.of(1, 2, 3, 4, 5, 6);

调用contains()方法,但其复杂度为O(n)

nums.contains(searchNumber);

Set

    • 如果要在Set中搜索:**
Set<Integer> nums = new HashSet<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.add(4);
nums.contains(searchNumber);

这里HashSet#contains()运行在**O(1)中,这比O(n)**好。
总的来说,这取决于集合将存储多少元素。如果集合很小,使用HashSet可能会产生开销。

相关问题