数组:查找不同x的数组[x] [1]

时间:2013-01-05 16:27:02

标签: java multidimensional-array

首先让我告诉你,英语不是我的母语。我试图在这个网站上找到解决这个问题的方法,但我发现很难解释我在搜索框中寻找的内容。如果之前已经发布了解决方案,请原谅。

所以基本上我需要为array[x][1]

找到x = input.readString()

示例:

array [0][0] = "book";

array [0][1] = "lord of the rings";

x = "book";

当输入为“book”时,我现在需要一种找到“戒指之王”的方法。

编辑:请原谅我没有首先添加此内容。这是学校的作业,我需要使用数组,而不是使用哈希图,抱歉浪费你的时间

提前感谢。

更新

gekozenCat是输入(书) TERADENWOORDEN是数组,[0] [0] = book和[0] [1] =指环 类别=类别数量

我在这里做错了吗?

  String woordVanCat = woordBepalen (gekozenCat);

public String woordBepalen(String teBepalenWoordVanCat) {
    for (int p = 0; p < CATEGORIES; p++)
        if (TERADENWOORDEN[p][0].equals(teBepalenWoordVanCat))
        return TERADENWOORDEN[p][1];
}

3 个答案:

答案 0 :(得分:2)

在这种情况下,多维数组并不是最好的。使用Map,HashMap:

Map<String, String> map = new HashMap<String, String>();
map.put("book", "lord of the rings");
...


String book = map.get("book");

答案 1 :(得分:0)

试试这个:

    String[][] array;
    for (int i=0; i < array.length; i++)
        if (array[i][0].equals("book"))
            return array[i][1];

答案 2 :(得分:0)

听起来您应该使用HashMapMultimapfound in Google's Guava library),具体取决于您要为每个输入找到唯一值还是多个值。

我相信这是您正在尝试做的正确的数据结构,而且它比搜索数组更具算法效率。

Map<String, String> m = new HashMap<String, String>();    
m.put("book", "lord of the rings");

String out = m.get("book"); // returns "lord of the rings"

如果您正在获取数组中的输入,我会将数组的每一行填充到地图中以获得更有效的查找:

for(String[] row : array)
    m.put(row[0], row[1]); 

String out = m.get("book"); // returns "lord of the rings"