在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判断字符串中是否包含特定字符串编写函数boolean containsAny(String str, String searchChars) 判断str字符串中是否包含searchChars字符串?
匿名 | 浏览 78171 次 2012-04-28 16:30
2015-09-28 21:44最佳答案
java判断字符串中包含特定字符串方法:
使用正则表达式进行判断。
源代码:
public class Test {
public static void main(String[] args) {
String str="Hello World" //待判断的字符串
String reg=".*ll.*" //判断字符串中是否含有特定字符串ll
System.out.println(str.matches(reg))
}
}