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()方法判斷數組中是否存在某個值
返回:true,false
優點:數組可以是亂序的,沒有順序的要求。
缺點:查詢效率上可能稍慢,但應該不會影響大局。
String[] unSendList ={ "0102020311263", "0102020311261", "120400002A", "010202031126", "010202061522" };
ConsultReport consultReport = new ConsultReport();
consultReport.setHisZlxmid("0102020311264");
System.out.println(Arrays.asList(unSendList).contains(consultReport.getHisZlxmid()));
補充:這邊返回的是false,只要包含就返回true。