2013-02-18 28 views
2
{ 
    "TC_01": { 
    "step": "TS01", 
    "keyword": "navigate", 
    "object": “search_fare" 
    } 
    "TC_02": { 
    "step": "TS02", 
    "keyword": "Verify text", 
    "object": “text_header_Traveler" 
    } 
} 

如何在Java中使用Multidimensional Arraylist或HashMap实现以下数据结构?请提供您的宝贵意见如何使用Java中的Multidimensional Arraylist或HashMap实现以下数据结构

+0

你要什么用数据做什么?到目前为止,你有没有尝试过任何东西,以至于遇到麻烦? – SimonC 2013-02-18 13:50:27

+0

该特定示例对我来说看起来像一个Map >,但在大多数实际应用程序中,您都希望将其转换为具有真实属性的实际业务对象。 – 2013-02-18 13:51:55

+0

这不会是JSON格式,而是一个数组列表......我需要在一个循环中构建这个结构来执行基于关键字 – 2013-02-18 13:54:30

回答

1

如果你看看你的代码,你会找到一个叫做“代码气味”(重复代码)的东西。你有自己的三个参数结构继续重复自己:步骤,关键字和对象。只是看到我建议把在一类,以便有:

public class YourClass{ 

    private String keyword; 
    private String step; 
    private String object; 

    //It´s your choice whether to have setters or have everything in through constructor 

    public String getKeyword(){ 
     return this.keyword; 
    } 

    .... //continue with getters for step and object 
} 

现在你可以有HashMap中的你的常规结构,从而有地图,这意味着他们为寻找到地图的关键将是一个字符串“TC_01”,“TC_02”,当你得到YourClass返回时,你所要做的就是调用.getKeyword()...来获取其余的信息。

例子:

YourClass yourClassVariable = new YourClass(); 
yourClassVariable.setStep("TS01"); 
yourClassVariable.setKeyword("navigate"); 
yourClassVariable.setObject("search_fare"); 

Map<String,YourClass> mp=new HashMap<String, YourClass>(); 

// adding or setting elements in Map by put method key and value pair 
mp.put("TC_01", yourClassVariable); 

:)

1
Map<String, TCObject> = new HashMap<String, TCObject>; 

其中,TCObject是包含字段类:

private String step; 
private String keyword; 
... etc ... 
+0

我认为它是一个Map,因为每个对象都对应一个String。 – BobTheBuilder 2013-02-18 13:55:00

+0

是的,确切地说。这是一张地图,如果这些字符串是独一无二的。如果他不在乎这一点,他可以使用这个清单。 – user 2013-02-18 13:55:56

+0

{{“step”:“TS01”,“keyword”:“navigate”,“object”:“search_fare”},{“step”:“TS02”,“keyword”:“验证文本”,“对象“:”text_header_Traveler“}},每个对象之前没有预期的字符串。 – BobTheBuilder 2013-02-18 13:57:30

3

作出

{ "step": "TS01", "keyword": "navigate", "object": “search_fare" } 

一类/类型说YourClass

class YourClass{ 
    String step,keyword,object; //type string is just example 
... 
} 

然后你 需要一个地图Map<String, YourClass>

0

希望这将有助于...

   
public class TC{ 

    private String keyword; 
    private String step; 
    private String object; 
    //setters 
    //getters 
} 


TC tc=new TC() 

tc.setStep("TS01") 

tc.setKeyword("navigate"); 

tc.setObject("search_fare"); 

Map map=new HashMap(); 

map.put("TC_01",tc); 


相关问题