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()方法判斷數組中是否存在某個值

返回: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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章