【问题标题】:Integer Array index [duplicate]整数数组索引 [重复]
【发布时间】:2018-12-31 23:21:31
【问题描述】:

我有一个数组,里面有一些 integers。我想检查给定的integer 是否在其中。除了使用for 循环逐一检查之外,还有没有办法在java 中使用indexOf 方法? [ -1 如果不在其中,则为索引]

【问题讨论】:

    标签: java


    【解决方案1】:

    Java 中的数组没有indexOf 方法。您的主要选择是:

    • 编写方法(例如使用 for 循环)
    • 对数组进行排序并使用Arrays.binarySearch(array, number)
    • 使用集合,例如HashSet<Integer>contains 方法。

    【讨论】:

    • 肯定binarySearch 会在两个单独的Integer 实例上针对相同的基础值失败?
    • @T.J.Crowder 如果是int[](这是我的理解),那么没有问题。如果是Integer[],则约定是“如果数组包含多个等于指定对象的元素,则无法保证会找到哪个。”,所以它仍然应该返回一个值是>=0
    • 出于某种原因,我将其读取为Integer 的数组。但这是问题的问题,而不是您的答案;你可以读到“我有一个数组,里面有一些integers。”无论哪种方式。 :-)
    • 哪种方法更流畅?使用for 循环或使用Arrays.binarySearch(array, number)
    • @SabareeshAP 定义“更平滑”!
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2012-05-18
    相关资源
    最近更新 更多