在Java中,如何检测一个数组中是否包含某一个数据?

"比如我有一个String类型的数组:publicstaticfinalString[]VALUES=newString[]{""AB"",""BC"",""CD"","... "比如我有一个String类型的数组:
public static final String[] VALUES = new String[] {""AB"",""BC"",""CD"",""AE""};
又有变量
String s;
现在我需要检测数组VALUES中是否包含有变量s的值。"
展开
 我来答
IT干货sufaith
推荐于2019-09-17 · TA获得超过2134个赞
知道答主
回答量:49
采纳率:0%
帮助的人:4.4万
展开全部

在Java中,检测一个数组是否包含某一个数据,通常有四种方法:

(1)for循环

(2)转换为List,调用Arrays.asList(arr).contains方法

(3)使用Set

(4)使用Arrays.binarySearch()方法

下面为上述四种方法的具体代码实现:

1、使用for循环

public static boolean useLoop(String[] arr, String targetValue) {

for (String s : arr) {

if (s.equals(targetValue))

return true;

}

return false; 

}

2、转换为List,调用Arrays.asList(arr).contains方法

public static boolean useList(String[] arr, String targetValue) {

return Arrays.asList(arr).contains(targetValue);

}

3、使用Set

public static boolean useSet(String[] arr, String targetValue) {

Set<String> set = new HashSet<String>(Arrays.asList(arr));

return set.contains(targetValue);

}

4、使用Arrays.binarySearch()方法

特别说明:binarySearch()二分查找 仅适用于 有序数组,如果不是有序数组,则报异常

public static boolean useArraysBinarySearch(String[] arr, String targetValue) {

int a = Arrays.binarySearch(arr, targetValue);

if (a > 0) {

return true;

} else {

return false;

} }

扩展资料:

Java种List列表的contains方法:

该方法是通过遍历集合中的每一个元素并用equals方法比较是否存在指定的元素。

public boolean contains(Object o) {

Iterator<E> it = iterator();

if (o==null) {

while (it.hasNext())

if (it.next()==null)

return true;

} else {

while (it.hasNext())

if (o.equals(it.next()))

return true;

}

return false;

}

参考资料来源:Java官网-API-Arrays

参考资料来源:Java官网-API-Interface List

涝灾辗夷
推荐于2017-11-23 · 超过22用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:40.2万
展开全部
可以使用如下的代码:
Arrays.asList(yourArray).contains(yourValue)
但这并不适用于基本数据类型的数组。
在Java8之后,你可以使用Stream来检测int,double,long类型的数组是否包含某个数值。(分别用IntStream, DoubleStream和LongStream),例如:
int[] a = {1,2,3,4};
boolean contains = IntStream.of(a).anyMatch(x -> x == 4);
对于数组的一些操作,你可以上秒秒学了解相关的知识。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式