Dou*_*las 19
有一种contains列表方法,所以你应该能够做到:
Arrays.asList(yourArray).contains(yourObject);
Run Code Online (Sandbox Code Playgroud)
警告:这可能不符合您(或我)的期望,请参阅下面的Tom的评论.
Tre*_*ton 13
使用Java 8,您可以这样做:
int[] haystack = {1, 2, 3};
int needle = 3;
boolean found = Arrays.stream(haystack).anyMatch(x -> x == needle);
Run Code Online (Sandbox Code Playgroud)
你需要这样做
boolean found = Arrays.stream(haystack).anyMatch(x -> needle.equals(x));
Run Code Online (Sandbox Code Playgroud)
如果你正在使用对象.
hvg*_*des 10
您可能需要考虑使用Collection实现而不是平面数组.
该Collection接口定义了一个contains(Object o)方法,它返回true/ false.
ArrayList实现定义了一个indexOf(Object o),它给出了一个索引,但该方法不在所有集合实现上.
这两种方法都需要正确实现该equals()方法,并且您可能需要一个正确实现的hashCode()方法,以防您使用基于哈希的方法Collection(例如HashSet).
您可以使用多种Arrays.binarySearch()方法之一。请记住,必须先对数组进行排序。
| 归档时间: |
|
| 查看次数: |
85548 次 |
| 最近记录: |