为了存储以下数据,使用哪种数据结构更好?:
"open" => "11:00", "15:00", "19:00"
"close" => "12:00", "17:00","20:00"
我需要能够通过以下方式访问数据:
dataStructure.get("open").get(0) => "11:00"
听起来你需要这样的东西Map<String, List<String>>
map.get("open")
将返回List<String>
然后您可以使用get(index)
List 的方法。
例子:
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
如果我们从现有的数据结构中使用,你可以有一个像这样的地图..
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);
基本上你可以使用带有参数 String 和 list 的 Map 来存储上述内容.. 这里 list 将存储子值的数量......
Map map = new HashMap<String,list>
List list = map.get("key")
list.get(0) // will give the 0th value
为什么不直接使用字符串数组并使用 open[0]、open[1] 等?对于关闭字符串的数组也是如此。