专栏首页javathingsJava 中如何判断数组中是否包含某个值?

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

有 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/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 对象的引用有哪几种方式?

    强引用是最常见的,一个变量用等号赋值,就是把这个变量指向强引用。只要有强引用,GC 永远不会回收掉该对象。

    水货程序员
  • Spring Boot 中的自动配置

    SpringBoot 启动的时候,会有大量的自动配置的类加载到容器中。正是因为 SpringBoot 的这些自动配置,使得我们在编程的时候,不像 Spring ...

    水货程序员
  • SpringBoot 和 Mybatis 整合

    使用 Mybatis 时,需要用到 Mybatis 中几个核心的类,比如 SqlSessionFactory,SqlSession 等。但是,如果在 Sprin...

    水货程序员
  • [PHP] PHP的脚本执行

    PHP的脚本执行: PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译 1.启动PHP及Zend引擎, 加载注册的扩展模块 2.读取...

    陶士涵
  • Spring Boot Debug调试

    在使用maven插件执行spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置。 1、添加jvm参数配置 在spring-boot...

    Java技术栈
  • 聊聊debezium的Heartbeat

    debezium-v1.1.1.Final/debezium-core/src/main/java/io/debezium/heartbeat/Heartbea...

    codecraft
  • 启动SpringBoot的可执行jar 报错:target\spring-boot-hello-1.0-SNAPSHOT.jar中没有主清单属性

       原因:查看了MANIFEST.MF,发现没有Main-Class属性,我想了一下,就试着去SpringBoot的官方文档上找找,果然有讲这一部分,spri...

  • 使用 Lombok 优雅编码

        Lombok 是一个 java 库,能以简单的注解形式来简化 java 代码,提高开发人员的开发效率。

    JMCui
  • 前端学习 第2周 第3天

    Joel
  • 详解Retrofit2.0 公共参数(固定参数)

    本文主要介绍了Retrofit2.0 公共参数(固定参数),分享给大家,具体如下:

    砸漏

扫码关注云+社区

领取腾讯云代金券