mik*_*woe 3 java collections if-statement
哪种方式更好?
if ("Pablo".equals(name) || "Marko".equals(name) || .. );
Run Code Online (Sandbox Code Playgroud)
或者
if (Sets.newHashSet("Pablo", "Marko", ..).contains(name));
Run Code Online (Sandbox Code Playgroud)
对内存使用、性能、可读性感兴趣
if 语句将花费线性时间 (O(n)),因为它有n在最坏情况下进行评估的条件。
该Set.contains变体将花费线性时间来构造Set(添加n元素),但只需要恒定时间来搜索Set特定值。
因此,如果多次运行此条件(对于同一组值),则创建一次Set并多次重复使用它比多次运行 if 语句更有效。
| 归档时间: |
|
| 查看次数: |
766 次 |
| 最近记录: |