如何通过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
}
答案 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。