java数组如何判断是否包含某个数值呢?
下文笔者讲述判断数组是否包含某个数值的方法及示例分享,如下所示
Java判断数组是否包含指定值的两种方法
方式1:
使用Arrays类的binarySearch方法
binarySearch(Object[] a, Object key)方法
查找是否存在某个值
如果某个值存在则返回值大于0
反之返回值则小于0
方式2:
转换为list,然后使用contains方法判断是否包含指定元素
返回true,代表元素存在
binarySearch
优点:
使用二分查找法,效率快捷。
缺点:
查询的数组必须是有序的
如果不是有序的话,使用此方法无效
String[] array = {"1","2","3","4"};
int index = Arrays.binarySearch(array,"2");
System.out.println("index:" + index); //--- index:1
index = Arrays.binarySearch(array,"0");
System.out.println("index:" + index); //--- index:-1
index = Arrays.binarySearch(array,"5");
System.out.println("index:" + index); //--- index:-5
数组转换为list,然后判断是否包含元素
优点:
数组可以是乱序的,没有顺序的要求
缺点:
查询效率上可能稍慢,但应该不会影响大局
String[] unSendList ={ "1212", "aa", "333", "998", "8144" };
ConsultReport consultReport = new ConsultReport();
consultReport.setHisZlxmid("0102020311264");
System.out.println(Arrays.asList(unSendList).contains(consultReport.getHisZlxmid()));
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


