用java实现树映射
我有一个程序,需要使用地图来存储有关电影的信息。基本上有四到五个类别,喜剧动作等等,然后是电影的名字。我尝试将类别分配给一个键,并使用多个值,这些值都是电影中的值,但不起作用。我可以使用arraylist存储包含两个字段的对象,并使用for循环遍历整个列表,使用objects get方法查看每个值。我怎样才能用地图来做呢?我需要我的程序做的是让用户输入一个类别,然后让for循环遍历列表并打印出每个具有该类别的电影。每次我尝试使用贴图时,它都不会打印任何内容。如何使用用java实现树映射,java,map,hashmap,treemap,Java,Map,Hashmap,Treemap,我有一个程序,需要使用地图来存储有关电影的信息。基本上有四到五个类别,喜剧动作等等,然后是电影的名字。我尝试将类别分配给一个键,并使用多个值,这些值都是电影中的值,但不起作用。我可以使用arraylist存储包含两个字段的对象,并使用for循环遍历整个列表,使用objects get方法查看每个值。我怎样才能用地图来做呢?我需要我的程序做的是让用户输入一个类别,然后让for循环遍历列表并打印出每个具有该类别的电影。每次我尝试使用贴图时,它都不会打印任何内容。如何使用贴图,其中整数表示类别,数组列
贴图
,其中整数
表示类别,数组列表中的字符串
将是电影名称。当然,您可以使用整数或字符串以外的其他类。有两个想法:
您可以将电影名称映射到类别:
Map<String, Category> movies;
Map<Category, List<String>> movies;
地图电影;
或者,您可以将电影列表保存在一个类别下:
Map<String, Category> movies;
Map<Category, List<String>> movies;
地图电影;
总的来说,我建议使用其他方法编制索引,并将信息保存在电影对象中。我建议采用以下方法:
enum Category {COMEDY, ACTION }
// class containing movie related information
public class Movie {
private String name;
// other useful fields
// getter and setters
}
// ... your code containing the "movies logic"
Map<Category, List<Movie>> movies ...
enum类别{喜剧,动作}
//包含电影相关信息的类
公映{
私有字符串名称;
//其他有用的领域
//二传手
}
// ... 包含“电影逻辑”的代码
地图电影。。。
这样,您可以看到要使用的类别,并提取给定类别的列表。即使一个集合是保存电影而不是列表的更好的容器…这样你就避免了重复。无论如何,通过使用面(集合或列表)将为您提供更大的灵活性,以选择您想要的后续wathever实现…甚至不同类别的实现,例如:对于Action LinkedList,而对于喜剧ArrayList。请发布代码。为什么不使用以类别为键、以电影列表为值的地图。我想它应该使用SQLite来完成这个任务,你可以选择吗?Java有几种实现。或者你必须绝对使用树形图?如果SQLite是一个选项,那么它可以提供更好的可伸缩性。