zar*_*tra 1 java arrays search
数组的String.indexOf()有没有相应的?如果没有,除了线性搜索之外,有没有更快的方法在另一个中找到一个数组?
无论数组的元素如何,我相信这与字符串搜索问题没什么不同.
该文章提供了对各种已知的算法一般的介绍.
Rabin-Karp和KMP可能是您的最佳选择.
您应该能够找到这些算法的Java实现并使它们适应您的问题.
List<Object> list = Arrays.asList(myArray);
Collections.sort(list);
int index = Collections.binarySearch(list, find);
Run Code Online (Sandbox Code Playgroud)
要么
public static int indexOf(Object[][] array, Object[] find){
for (int i = 0; i < array.length(); i ++){
if (Arrays.equals(array[i], find)){
return i;
}
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
要么
public static int indexOf(Object[] array, Object find){
for (int i = 0; i < array.length(); i ++){
if (array[i].equals(find)){
return i;
}
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
要么
Object[] array = ...
int index = Arrays.asList(array).indexOf(find);
Run Code Online (Sandbox Code Playgroud)