如何获取2D数组Java中项的索引

时间:2015-07-17 11:29:03

标签: java multidimensional-array indexing

我在尝试从Java中的2D int数组中获取特定项的索引时遇到了问题。

所以这就是我所拥有的......

private int[][] mobPoints = {
    {9300127,2},{9300128,2},{9300129,2},{9300130,3},{9300131,3},
    {9300132,3},{9300133,3},{9300134,4},{9300135,4},{9300136,5}};

每个阵列中的第一个数字是怪物识别号码,第二个数字是它值得的点数。我希望它如何工作是当一个玩家杀死一个暴徒时,服务器检测到并通过一个方法发送它,该方法用一个暴徒值得的点数增加一个变量。例如:

public void addPoints(int mobid) {

}

我遇到的麻烦是使用给定的mobid并检索它值得的值。我不想使用HashMaps或ArrayLists,因为我似乎无法预定义它们(我必须创建一个新的ArrayList,然后在创建时添加每个值)。

2 个答案:

答案 0 :(得分:3)

如果您希望代码可以扩展并保持高效,则可能需要尝试使用sh -c "cd /dbdata && tar xvf /backup/backup.tar"

HashMap<Integer, Integer>

答案 1 :(得分:1)

这将完成工作....

public void addPoints(int mobid) {
    // create a boolean to know if key has been found
    boolean found = false;

    // iterate over first column of your matrix array
    for (int c = 0; c < mobPoints.length; c++) {
        // if the key still not found and is equal first column value 
        if (!found && mobPoints[c][0] == mobid) {
            // add points or do your stuff
            System.err.println("Value = " + mobPoints[c][1]);
            // mark as found
            found = true;
        }
    }
    if (!found) {
        // not found error
    }
}