使用标识符从数组中调用数据

call data from array by using identifier

我有一个二维数组 (DataValueForStation),它在第一列中表示站点 ID,在第二列中表示站点的值。有时 id 站的顺序不正常。还有包含 ID Station 的 AtStation 的二维数组,但顺序是随机的。我不知道如何为 AtStation 创建一维数组,这就是我只创建二维数组的原因。问题是我想创建一个数组 (ValueStation),通过使用 Id Station 作为标识符来提取站的值。错误显示 ArrayIndexOutofBoundException

import java.util.Arrays;

public class Looping {

    public static void main(String[] args) 
    {
        double [][] DataValueForStation = {{11, 1000}, {22, 2000}, {35, 3000}, {46,4000}};
        int [][] AtStation = {{22},{46},{35},{11}};

        double [][] ValueStation = new double [AtStation.length][0];

        int j = 0;
        for (int i=0; i<DataValueForStation.length; i++)
        {
            if (j<AtStation.length && AtStation[j][0] == DataValueForStation[i][0])
            {
                ValueStation[j][0] = DataValueForStation[i][1];
                j++;
            }
            else if (j<AtStation.length && AtStation[j][0] != DataValueForStation[i][0])
            {
                for (int k=0; k<DataValueForStation.length; k++)
                {
                    if (j<AtStation.length && AtStation[j][0] == DataValueForStation[k][0])
                    {
                        ValueStation[j][0] = DataValueForStation[k][1];
                        j++;
                    }
                }
            }
        }
        System.out.println(Arrays.deepToString(ValueStation));
    }

}

更新下面一行

double [][] ValueStation = new double [AtStation.length][0];

double [][] ValueStation = new double [AtStation.length][1];

这指定,您将在内部数组中有一个元素。