有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中通过数组的键访问它,并将数组存储在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[]>实现这一点

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

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

共 (2) 个答案

  1. # 1 楼答案

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

    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();

  2. # 2 楼答案

    创建一个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");
    

    if i want to access options[1].value should give me 1 and options[2].label should give me two

    现在,选项[1]。值将为1