java - 如何获取多维数组中对象的索引?

标签 java multidimensional-array indices

假设我有一个多维对象数组

对象[][][] obj=new 对象[10][10][10];

充满了任何种类的物体。有没有办法

public ArrayList(Integer) getIndices(Object o)

将一个对象作为输入并返回该对象的索引? 我不关心多维数组的实际类:您可以将 Object 替换为您选择的另一个类。我什至不关心输出的类型:它可以是 intarray,或者 ArrayList(Integer),或者任何你想要的。最后,当输入对象不在 3D 矩阵中时,我不关心此方法是否抛出异常。 我只是想了解有哪些方法可以或多或少地完成我想要的事情。

有这样的方法吗?如果不是,我该如何定义它?我能想到的唯一方法是迭代 3D 矩阵的条目并使用 .equals 手动检查。这是最快的方法(即使是大矩阵)吗?

提前谢谢

附注我检查了较旧的问题,例如 this但这没有帮助。

最佳答案

您可以使用此方法来执行此操作..

  private static void find_indices(int[][][] arr,int row, int col, int height, int value) {
    ArrayList<String> list = new ArrayList<>();
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            for (int k = 0; k < height; k++) {
                if (arr[i][j][k] == value) {
                    list.add(String.valueOf(i));
                    list.add(String.valueOf(j));
                    list.add(String.valueOf(k));
                    list.add(String.valueOf("\n"));
                }
            }
        }
    }
    for (int i = 0; i < list.size(); i++) {
        System.out.print(list.get(i));
    }
}

使用 find_indices(arr, value); 调用它 这是我的所有标准应用程序中的工作代码。您可以将上述方法放在任何 util 类中,并通过发送数组和值作为参数来使用它。我在这里使用了列表,这样如果在不同的索引处找到多个对象,它将给出所有索引。 继续编码:)

关于java - 如何获取多维数组中对象的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47247776/

相关文章:

javascript - 过滤 JavaScript 中具有 max 的数组项

python - 从字典中获取值索引

ios - 设置索引和顶点数组 openGL ES

C++通过制作索引数组进行排序

Java ProcessBuilder.start(Tomcat7.exe) 启动进程但它挂起帮助吗?

java - 如何在鼠标位置添加面板?

c++ - 获取二维数组中数字的平均值、最小值和最大值

python - 将浮点坐标添加到 numpy 数组

java - 无法添加到数组列表

java - WooCommerce REST API 响应中类别和子类别之间的差异