【问题标题】:How to choose the proper array in java to store XML data如何在java中选择合适的数组来存储XML数据
【发布时间】:2013-01-20 13:39:52
【问题描述】:

我是 Java 新手,并尝试创建一个编目程序作为开始练习。我已经制作了界面,我可以按照我想要的方式用标题填充初始的JComboBox,但我的问题在于存储其余数据,以便可以根据JComboBox 的标题轻松检索它。

我的 xml 看起来像这样:

<Movies>
<Movie>
    <Title></Title>
        <Studio></Studio>
    <Director></Director>
    <Actors></Actors>
    <Rating></Rating>
    <Stars></Stars>
    <Review></Review>
    <Synopsis></Synopsis>
    <Genre></Genre>
</Movie>
</Movies>   

具有多个电影元素。我想将每部电影的数据存储在某种形式的数组中,这样当用户从 JComboBox 中选择一个标题时,我就可以用适当的数据填充其余的表单字段。但我无法决定一个好的数组类型来做到这一点。在我看来,我需要某种看起来像这样的数组:

Array<"Title1" -> "Title", "Studio", ....;
      "Title2" -> "Title", "Studio", ...;
       and so on...>

我一直在研究不同的数组,例如 HashmapsArrayListsMulti-Dimensional String Arrays 和地图,但这些似乎都没有我想的那样。

非常感谢您对此的看法。

【问题讨论】:

    标签: java arrays multidimensional-array associative-array


    【解决方案1】:

    为什么不创建一个类Movie,其中包含标题、目录、演员等字段?然后,您可以拥有一个包含所有电影的列表。

    如果电影可以通过其名称唯一识别,则可以将电影名称作为键,Movie 对象作为值,将它们放入 HashMap 中。

    【讨论】:

      【解决方案2】:

      我认为 HashMap 或 HashTable 足以满足您的规范。

      您可以使用字符串作为键(Title1、Title2 等) 您可以将 ArrayList 用于值(Title、Studio 等...)

      String key = "Title1";
      
      List<String> value = new ArrayList<String>();
      value.add("Title");
      value.add("Studio");
      
      Map<String, Arraylist> myMap = new HashMap<String,ArrayList>();
      myMap.put(key,value);
      

      【讨论】:

      • 我想说这也很有效。如果我可以选择两个答案,我会的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2022-01-06
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多