前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 中如何判断数组中是否包含某个值?

Java 中如何判断数组中是否包含某个值?

作者头像
水货程序员
修改2018-11-14 18:22:12
5.9K0
修改2018-11-14 18:22:12
举报
文章被收录于专栏:javathingsjavathings

有 4 种方法

1. 使用 List

123

public static boolean useList(String[] arr, String targetValue) {return Arrays.asList(arr).contains(targetValue);}

2. 使用 Set

1234

public static boolean useSet(String[] arr, String targetValue) {Set<String> set = new HashSet<String>(Arrays.asList(arr));return set.contains(targetValue);}

3. 使用简单的循环

Java

public static boolean useLoop(String[] arr, String targetValue) { for(String s: arr){ if(s.equals(targetValue)) return true; } return false; }

1234567

public static boolean useLoop(String[] arr, String targetValue) {for(String s: arr){if(s.equals(targetValue))return true;}return false;}

4. 使用 Arrays.binarySearch

binarySearch 使用的时候,必须确保数组是有序的。

1234567

public static boolean useArraysBinarySearch(String[] arr, String targetValue) {int a = Arrays.binarySearch(arr, targetValue);if(a > 0)return true;elsereturn false;}

4 种方法,经过测试。(测试用例:略)

在数组无序的情况下,性能最佳的就是使用循环,比采用集合方式好,毕竟,采用集合的方式还得把数组放入集合。

如果数组是有序的,则使用 Arrays.binarySearch() 是最佳的方法。

参考资料:https://www.programcreek.com/2014/04/check-if-array-contains-a-value-java/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档