检查数组是否包含某个值的方法

检查数组是否包含某个值的方法
使用List
publicstaticbooleanreturn Arrays.asList(arr).contains(targetValue); }
使用Set
publicstatic setnew HashSet<String>(Arrays.asList(arr)); returnset.contains(targetValue); }
使用循环判断
publicstaticbooleanforifreturntrue; } returnfalse; }
使用 Arrays.binarySearch()
publicstaticbooleanint a = Arrays.binarySearch(arr, targetValue); if 0returntrue; elsereturnfalse; }
时间复杂度
publicstaticvoidnew"CD""BC""EF""DE""AB"}; //use listlong startTime = System.nanoTime(); forint0 100000; i++) { useList(arr, ); } long endTime = System.nanoTime(); long duration = endTime - startTime; System.out"useList: "1000000); //use set startTime = System.nanoTime(); forint0100000; i++) { useSet(arr, ); } endTime = System.nanoTime(); duration = endTime - startTime; System.out"useSet: "1000000); //use loop startTime = System.nanoTime(); forint0100000; i++) { useLoop(arr, ); } endTime = System.nanoTime(); duration = endTime - startTime; System.out"useLoop: "1000000); //use Arrays.binarySearch() startTime = System.nanoTime(); forint0100000; i++) { useArraysBinarySearch(arr, ); } endTime = System.nanoTime(); duration = endTime - startTime; System.out"useArrayBinary: "1000000); }
: : : :
使用一个长度为1k的数组
new1000]; Random s = new Random(); forint0 1000; i++){ arr[i] = String.valueOf(s.nextInt()); }
: : : :
使用一个长度为10k的数组
new10000]; Random s = new Random(); forint0 10000; i++){ arr[i] = String.valueOf(s.nextInt()); }
: : : :
 
总结
Arrays.binarySearch()使用 ArrayUtils
ArrayUtilscontainsimport org.apache.commons.lang3.ArrayUtils; publicstaticbooleanreturn ArrayUtils.contains(arr,targetValue); }

转载于:https://www.cnblogs.com/luxd/p/5976761.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值