-1

我如何通过java中的键访问数组

在这种情况下,我希望结构是这样的,

options[{"value":"0","label":"zero"},{"value":"1","label":"one"},
   {"value":"2","label":"two"}]

在这里,如果我想访问options[1].value应该给我 1 并且options[2].label应该给我两个。

我怎样才能做到这一点Map<string><string[]>

我也可以将“选项”数组作为我的哈希映射中的键之一传递吗

     protected Map<String, String[]> getValueProperties(int view, Field field) {
 Map<String, String> properties = new   HashMap<String,String[]>();             
        properties.put("options", []);
        return properties
    }
4

2 回答 2

3

您应该创建一个代表您的对象的新类:

public final class MyObject {
    private String value;
    private String label;

    public MyObject(String label, String value) { ... }

    public String getValue() { ... }
    public String getLabel() { ... }
}

然后创建一个列表MyObject

final List<MyObject> objects = new ArrayList<>();
objects.add(new MyObject("zero", "0");
objects.add(new MyObject("one", "1");
objects.add(new MyObject("two", "2");

然后您可以直接访问对象值:objects.get(0).getValue();

于 2012-10-25T06:41:21.823 回答
1

创建class如下

class Entry
{
    int value;
    string label; 
    public Entry(int val, string lbl)
    {
        this.value = val;
        this.label = lbl;
    }
}

现在创建你options的数组如下:

Entry[] options = new Entry[3];
options[0] = new Entry(0, "zero");
options[1] = new Entry(1, "one");
options[2] = new Entry(2, "two");

如果我想访问 options[1].value 应该给我 1 和 options[2].label 应该给我两个

现在, options[1].value 会给你 1。

于 2012-10-25T06:42:52.387 回答