如何检查一个数组(无序)是否包含一个特定的值?
检查数组是否包含某个值的方法
使用LIst
public static boolean useList(String [] arr,String target){ return Arrays.asList(arr).contains(target); }
使用Set
public static boolean useSet(String [] arr,String target){ Set<String> set = new HashSet<String>(Arrays.asList(arr)); return set.contains(target); }
使用循环判断
public static boolean useLoop(String [] arr,String target){ for(String s : arr){ if(target.equals(s)){ return true; } } return false; }
使用Arrays.binarySearch()
Arrays.binarySearch()方法只能用于有序数组!!!如果数组无序的话得到的结果就会很奇怪。
public static boolean useArraysBinarySearch(String [] arr,String target){ int a = Arrays.binarySearch(arr, target); if(a > 0) return true; else return false; }
时间复杂度