-1

我需要评估满足某个条件的数组中的最后一个 int 。我的程序可以计算出该 int 是什么,但它还需要知道它在数组中的位置。我在 stack-exchange 上搜索,有人发布了这个:

Arrays.asList(array).indexOf(indexPos);

作为一种可能的解决方案,但我不确定我是否做得对,因为我收到错误找不到符号。我还允许:

int test = Arrays.asList(array).indexOf(indexPos);

然后尝试打印测试,但我什至无法达到这一点。谢谢。

4

3 回答 3

1

您可能需要import java.util.Arrays获取符号。

除了在数组上循环之外,没有保证找到元素在数组中的位置的方法——这基本上就是你的asList代码片段正在做的事情。

只要您的数组没有重复值,这将起作用。如果您需要处理重复值,您可能需要重新考虑数据结构。

于 2013-07-20T10:22:18.507 回答
0

有人发布了其他人提出的类似问题。看来这对我有用。

该代码是:

java.util.Arrays.asList(seq).indexOf(indexPos);

和问题:Java 的数组 indexOf 在哪里?

于 2013-07-20T10:26:38.720 回答
0

是的,您有 List 接口中定义的方法。所以你需要使用 asList() 函数,然后使用 indexOf() 函数。

如果数组未排序,您可以使用java.util.Arrays.asList(theArray).indexOf(o) 如果数组已排序,您可以使用二分查找功能(提高性能)java.util.Arrays.binarySearch(theArray, o)

至于错误,请确保您已导入java.util.Arrays. 此外,您已经定义了 Array seq 和 int indexPos ,这使您的代码int test = Arrays.asList(seq).indexOf(indexPos);

于 2013-07-20T10:43:13.883 回答