以下是一个示例代码,演示如何比较两个对象数组并找到它们的索引。
import java.util.Arrays;
public class CompareArrays {
public static void main(String[] args) {
// 创建两个对象数组
String[] array1 = {"apple", "banana", "orange", "grape"};
String[] array2 = {"banana", "grape", "apple", "orange"};
// 比较两个数组
int[] indexes = compareArrays(array1, array2);
// 打印结果
System.out.println("Matching indexes: " + Arrays.toString(indexes));
}
public static int[] compareArrays(Object[] array1, Object[] array2) {
int[] matches = new int[array1.length];
Arrays.fill(matches, -1); // 初始化所有匹配索引为-1
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array2.length; j++) {
if (array1[i].equals(array2[j])) { // 比较两个对象是否相等
matches[i] = j; // 记录匹配索引
break; // 找到匹配后,跳出内循环
}
}
}
return matches;
}
}
在上述示例中,我们使用了两个字符串数组 array1
和 array2
。然后,我们使用 compareArrays
方法比较这两个数组,并返回一个整数数组 matches
,其中 matches[i]
表示 array1[i]
在 array2
中的索引位置。如果 array1[i]
在 array2
中找不到匹配项,则 matches[i]
的值将为 -1。
最后,我们在 main
方法中打印了匹配索引的结果。