繁体   English   中英

在Android中嵌套HashMap创建

[英]Nested HashMap Creation in Android

在我的应用程序中,我有3个选项卡,其中包含ListViews,具体取决于先前选项卡中的选择。 基本上,第一个选项卡将列出餐厅,第二个选项卡将列出所选餐厅的子菜单,第三个菜单将列出所选子菜单的项目,然后在选择一个项目时,它将显示有关该项目的一些营养信息。 我不知道组织餐厅/子菜单/项目的最佳方法,但我想的是嵌套的HashMap,如下所示。

HashMap<String, HashMap<String, HashMap<String, Double[]>>>

我不知道该怎么做,就是有效地构建此地图,以便将来轻松添加/删除内容。 我当时在看xml,但无法弄清楚该怎么做。 如果以这种方式进行操作,那么我还需要编写Java代码来解析xml并将其全部放入地图中正确位置的帮助。 我不确定是否需要使用标签,或者是否只能使用利用map的xml文件,然后将其“导入”到Java项目中。 我认为用Java对每个项目进行硬编码不会非常有效,所以我希望可以得到一些帮助。

可能这样吗? 填写不完全,但是我真的不知道自己在做什么。

<?xml version="1.0" encoding="UTF-8"?>
<util:map name="foodmapping">
 <restaurant key="McDonalds">
  <util:map>

  </util:map>"

 </restaurant>
 <restaurant key="Starbucks">
  <value>2
  </value>
 </restaurant>
</util:map>

这可能不是特定于Andriod的。 我不知道android,但我用于嵌套哈希图的基本原理。 初始化应该是最先嵌套的

我可能没有最好的答案。 我不善于解释。 但是,这是一个代码示例。 注意:这可能无法在android上运行,因为我说过我从未使用过android。 这是基本的Java代码。

HashMap<String,HashMap<String,HashMap<String,Object>>>example1 = new HashMap<>();
// Init should be furthest first.
HashMap<String,Object>furthest = new HashMap<>();
// This will start up middle level.
HashMap<String,HashMap<String,Object>>middle = new HashMap<>();
// Now that that is done. We can load up values
middle.put("first",furthest);
//Now middle is loaded with basic startup.
example1.put("first",middle);
//Now this initialization example is complete. 
example1.get("first").get("first").put("lowestSecond",/*SOME OBJECT HERE*/); // This is an example of how to put more data into the furthest level down.

我认为这不是您的最佳答案。 但这是我用来启动多级哈希图的基本代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM