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()));
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。