java 我应该使用数组还是OR函数?[关闭]

rfbsl7qr  于 2024-01-05  发布在  Java
关注(0)|答案(1)|浏览(167)

已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。

5天前关闭。
Improve this question
我是一个Java新手,想学习更多关于优化的知识。因此,在我正在做的一个项目中,我遇到了一个独特的解决方案,需要检查一个值是否是四个选项之一,我想知道是简单地搜索数组还是只使用OR语句更好。特别是对于这个项目,我被迫使用String/chars而不是int
还有,如果不麻烦的话,有没有更好的搜索方法?
另外,由于我只使用字符串数组来存储1个数字,将其更改为char是否更有效/更容易理解?
实施例1

  1. String number = 6;
  2. if (number == "0" || number == "2" || number == "6" || number == "8")
  3. {
  4. System.out.println("TRUE");
  5. }

字符串
例2导入java.util.Arrays;

  1. String[] myList = {0, 2, 6, 8};
  2. String number = 6;
  3. if (Arrays.stream(myList).anyMatch(number::equals))
  4. {
  5. System.out.println("TRUE");
  6. }

ldxq2e6h

ldxq2e6h1#

不要在流中使用数组,因为这会带来不必要的开销。你可以考虑使用Set<String>来保存数字。这在常数时间内几乎可以工作。

  1. Set<String> digits = Set.of("0", "2", "6", "8"};
  2. String number = "6";
  3. System.out.println(digits.contains(number) ? "TRUE" : "FALSE");

字符串
也可以使用switch语句。

  1. number = "9";
  2. String result = switch(number) {
  3. case "0","2","6","8" ->"TRUE";
  4. default -> "FALSE";
  5. };
  6. System.out.println(result);


但是对于少数值,使用||没有什么错

展开查看全部

相关问题