我如何通过java中的键访问数组,并将数组存储在hashmap中

时间:2012-10-25 06:34:25

标签: java arrays hashmap

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

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

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

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

如何使用Map<string><string[]>实现此目的?

我也可以将“options”数组作为哈希映射

中的一个键传递
     protected Map<String, String[]> getValueProperties(int view, Field field) {
 Map<String, String> properties = new   HashMap<String,String[]>();             
        properties.put("options", []);
        return properties
    }

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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");
  

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

现在,选项[1] .value将为您提供1。