哪种方式更好?
if ("Pablo".equals(name) || "Marko".equals(name) || .. );
或
if (Sets.newHashSet("Pablo", "Marko", ..).contains(name));
对内存使用、性能、可读性感兴趣
最佳答案
if 语句将花费线性时间 (O(n)),因为它有 n
条件来评估最坏情况。
Set.contains
变体将花费线性时间来构建 Set
(添加 n
元素),但只需常数时间来搜索设置
为特定值。
因此,如果您多次运行此条件(针对同一组值),
创建一次 Set
并多次重复使用它比多次运行 if 语句更有效率。
关于java - 乘以 if 语句与 collection.contains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49490290/