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

Python08

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

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

(1)for循环

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

(3)使用Set

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

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

1、使用for循环

publicstaticbooleanuseLoop(String[]arr,StringtargetValue){

for(Strings:arr){

if(s.equals(targetValue))

returntrue

}

returnfalse

}

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

publicstaticbooleanuseList(String[]arr,StringtargetValue){

returnArrays.asList(arr).contains(targetValue)

}

3、使用Set

publicstaticbooleanuseSet(String[]arr,StringtargetValue){

Set<String>set=newHashSet<String>(Arrays.asList(arr))

returnset.contains(targetValue)

}

4、使用Arrays.binarySearch()方法

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

publicstaticbooleanuseArraysBinarySearch(String[]arr,StringtargetValue){

inta=Arrays.binarySearch(arr,targetValue)

if(a>0){

returntrue

}else{

returnfalse

}}

扩展资料:

Java种List列表的contains方法:

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

publicbooleancontains(Objecto){

Iterator<E>it=iterator()

if(o==null){

while(it.hasNext())

if(it.next()==null)

returntrue

}else{

while(it.hasNext())

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

returntrue

}

returnfalse

}

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

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

java中的数组中必须存放相同的数据类型,不可以存放不同的数据类型。

Object[]数组可以存进去各种数据类型,但别忘了这些数据类型统统都被自动提升成为了Object类型。也就是说,Object[]内部放的,都是Object类型的数据。

所以说,Java中的数组,必须存放相同类型的数据