0

我是 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...>

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

我非常感谢您对此的想法。

4

2 回答 2

3

为什么不创建一个Movie包含 Title、Directory、Actor 等字段的类?然后,您可以拥有一个包含所有电影的列表。

如果电影可以通过名字唯一识别,你可以把它们放在一个HashMap中,以电影的名字为键,Movie对象为值。

于 2013-02-05T15:22:37.943 回答
1

我认为 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);
于 2013-02-05T15:25:54.040 回答