|
1
2621
警告:这不适用于基元数组(请参阅注释)。 java-8
检查数组是否
|
|
|
2
325
引用数组不正确。在这种情况下,我们追求的是一套。自Java SE 9以来,我们
“给定字符串s,是否有一种好的方法来测试VALUES是否包含s?”
这 正确类型 , 不可变的 , 和 简洁 很漂亮* 原始答案详细信息
(注意,你实际上可以放下
引用数组仍然很糟糕,我们需要一个集合:
(*就品牌而言,集合API仍然缺少不可变的集合类型,语法对我来说仍然太冗长,这是可以预见的。) |
|
|
3
185
您可以使用
请注意,此方法返回
例子:
|
|
4
148
这
|
|
|
5
66
Four Different Ways to Check If an Array Contains a Value
快速示例:
|
|
6
63
|
|
|
7
47
值得一提的是,我进行了一项测试,比较了3个速度建议。我生成了随机整数,将其转换为String并将其添加到数组中。然后,我搜索了可能的最高数字/字符串,这将是最坏的情况
使用10K阵列大小时,结果为:
我认为这是大多数人所期望的结果。以下是测试代码:
|
|
8
33
您可以使用Arrays.asList方法以类似的方式直接将其初始化为List,而不是使用快速数组初始化语法,例如:
然后你可以这样做(如上所述):
|
|
9
31
使用Java 8,您可以创建流并检查流中的任何条目是否匹配
|
|
|
10
25
|
|
11
16
ObStupid答案(但我认为这里有一个教训):
|
|
12
12
在一个 数组:
|
|
|
13
10
上面的代码可以工作,但不需要先将列表转换为set。将列表转换为集合需要额外的时间。它可以简单到:
或
第一个比第二个更易读。 |
|
14
9
如果你有谷歌收藏库,使用ImmutableSet可以大大简化汤姆的答案(http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/ImmutableSet.html) 这确实消除了所提出的初始化中的许多混乱
|
|
15
7
|
|
|
16
6
在 使用Streams。
|
|
|
17
5
使用简单的循环是最有效的方法。
|
|
|
18
4
最短的解决方案
|
|
19
3
正如您在上面的代码中看到的,还有其他实用方法
|
|
20
3
|
|
21
2
如果你不想区分大小写
|
|
|
22
2
|
|
|
23
2
试试这个:
|
|
|
24
2
|
|
|
25
-2
Arrays.asList()->那么调用contains()方法总是有效的,但搜索算法要好得多,因为你不需要在数组周围创建一个轻量级的列表包装器,而Arrays.asList()就是这样做的。
|
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |