标签:复杂度 targe sea array 算法 log 如何 hashset use
如何检查一个未排序的数组中是否包含某个特定的值,这是在Java中非常实用并且频繁使用的操作。另外,检查数组中是否包含特定值可以用多种不同的方式实现,但是时间复杂度差别很大。下面,我将为大家展示各种方法及其需要花费的时间。
1.检查数组中是否包含特定值的四种不同方法
1 public static boolean useList(String[] arr,String targetValue){ 2 return Array.asList(arr).contains(targetValue); 3 }
1 public static boolean useSet(String[] arr, String targetValue) { 2 Set<String> set = new HashSet<String>(Arrays.asList(arr)); 3 return set.contains(targetValue); 4 }
public static boolean useLoop(String[] arr,String targetValue){ for(String s:arr){ if(s.equals(targetValue)){ return true; } }return false; }
public static int binarySearch(int[] a, int key)
1 public static boolean useArraysBinarySearch(String[] arr,String target){ 2 Arrays.sort(arr); 3 int a = Arrays.binarySearch(arr, target); 4 if(a >= 0){ 5 return true; 6 }else { 7 return false; 8 } 9 }
时间复杂度
标签:复杂度 targe sea array 算法 log 如何 hashset use
原文地址:http://www.cnblogs.com/xxwr/p/7345479.html