java判斷String字符串數組中是否存在某個值
個人分類: java代碼
java判斷String字符串數組中是否存在某個值,有下面2種方法可以實現
1.可以使用Arrays類中binarySearch(Object[] a, Object key) 方法來查找是否存在某個值,如果某個值存在則返回值大於0,反之返回值則小於0
- 優點:使用二分查找法,效率快捷。
- 缺點:查詢的數組必須是有序的,如果不是有序的話,使用此方法是沒有用的。
-
String[] array = {"1","2","3","4"};
-
int index = Arryas.binarySearch(array,"2");
-
System.out.println("index:" + index); //--- index:1
-
index = Arryas.binarySearch(array,"0");
-
System.out.println("index:" + index); //--- index:-1
-
index = Arryas.binarySearch(array,"5");
-
System.out.println("index:" + index); //--- index:-5
2.使用Arrays類中asList()方法將數組轉化爲List()列表,在使用contains()方法判斷數組中是否存在某個值
- 優點:數組可以是亂序的,沒有順序的要求。
- 缺點:查詢效率上可能稍慢,但應該不會影響大局。
-
String[] array = {"1","2","3","4"};
-
boolean flag = Arrays.asList(array).contains("2");
-
System.out.println("flag:" + flag);//--- flag:true
-
flag = Arrays.asList(array).contains("0");
-
System.out.println("flag:" + flag);//--- flag:false
-
flag = Arrays.asList(array).contains("5");
-
System.out.println("flag:" + flag);//--- flag:false
說的可能不夠全面,歡迎補充^_^