用于存储按键的数据的数据结构

时间:2013-07-24 10:47:33

标签: java arrays hashset

为了存储以下数据,最好使用哪种数据结构?:

"open" => "11:00", "15:00", "19:00" 
"close" => "12:00", "17:00","20:00"

我需要能够以下列方式访问数据:

dataStructure.get("open").get(0) => "11:00"

4 个答案:

答案 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]等?对于一组紧密字符串也一样。