为了存储以下数据,最好使用哪种数据结构?:
"open" => "11:00", "15:00", "19:00"
"close" => "12:00", "17:00","20:00"
我需要能够以下列方式访问数据:
dataStructure.get("open").get(0) => "11:00"
答案 0 :(得分:4)
听起来你需要这样的东西Map<String, List<String>>
map.get("open")
会返回List<String>
,然后您可以使用List的方法get(index)
。
示例:强>
Map<String, List<String>> map = new HashMap<>();(java 7)
Map<String, List<String>> map = new HashMap<List<Stirng>>();(pre java 7)
Consider your first input:
map.get("Open").get(0); would yield 11:00
答案 1 :(得分:1)
基本上你可以使用带有参数String和list的Map来存储上面的..这里列表会存储子值的数量......
Map map = new HashMap<String,list>
List list = map.get("key")
list.get(0) // will give the 0th value
答案 2 :(得分:1)
如果我们使用现有数据结构,您可以使用类似的地图..
Map<String,List<String>> myMap=new HashMap<String,List<String>>();
List<String> openList=new ArrayList<String>();
openList.add("11:00");
openList.add("15:00");
openList.add("19:00");
List<String> closeList=new ArrayList<String>();
closeList.add("12:00");
closeList.add("17:00");
closeList.add("20:00");
myMap.put("open",openList);
myMap.put("close",closeList);
答案 3 :(得分:0)
为什么不使用一个字符串数组并使用open [0],open [1]等?对于一组紧密字符串也一样。