gpt4 book ai didi

java - 我需要帮助使包含许多逻辑运算符的 if 语句更容易

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:05 26 4
gpt4 key购买 nike

我试过搜索它,但我现在真的不知道如何正确地表述问题...

我有一个包含许多逻辑运算符的 if 语句。我如何更轻松地做到这一点?

If (n == 1 ||n == 2 ||n == 3  ||n == 5 ||n == 9 ||n == 8 ||n == 7 ||n == 551 ||n == 17 ||n == 81 || etc etc)
{ //Stuff
}

我在用伪代码思考我想要这样的东西:

List list = {1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, or 36 }

if n is in list, then {}

如您所知,我是初学者,在制定所需内容时遇到问题。

最佳答案

怎么样:

int[] validOptions = { 1, 2, 3, 5, 7, 8, 9, 17, 81, 551 };

if (Arrays.binarySearch(validOptions, n) >= 0)
{
// Yup, found it
}

请注意,我重新排序了您的原始支票(例如,在 17 之前有 551)以便对数组进行排序。二分查找将处理排序后的数据。

我只是建议在这里使用数组,因为它更容易指定,尤其是当您处理基本类型时。如果你希望这些是动态的,一个 List<Integer>HashSet<Integer>会更合适。

请注意,虽然集合很小几乎没有关系,但值得考虑不同查找的性能特征:

  • HashSet.contains - O(1)
  • Arrays.binarySearch - O(log N)
  • ArrayList.contains - O(N)

关于java - 我需要帮助使包含许多逻辑运算符的 if 语句更容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16237198/

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