如何存储这个列表并比较它们的Java建议?

时间:2013-01-03 07:54:41

标签: java string list multidimensional-array storing-information

你能不能对这个问题给我一些关注:

我有两个类型的标题列表:

 - title1______title1 
 - title1a___title2
 - title1c___title3 
 - title1b___title4
 - title2______title3
 - title4
 - title5

并且第一个列表必须附加一个文件名列表。 如何存储这两个列表以便我可以比较它们?

目前我已将两个列表存储为ArrayList,我将它们与第一个列表中应用的removeAll进行比较。

如何存储第一个列表,使其与每个标题的文件名具有请求的连接,并且仍然能够将其与第二个列表进行比较?

1 个答案:

答案 0 :(得分:1)

您可以使用地图:

Map<String, String> titles = new HashMap<String, String>();
titles.put("title1", "filename1");
titles.put("title1a", "filename1a");
...
titles.put("title5", "filename5");

基本上,您可以使用titles.keySet()方法获取所有标题的集合。 如果您需要使用列表删除某些标题,可以按照以下步骤操作:

List<String> titlesToRemove = Arrays.toList("title1", "title2", "title3");
titles.keySet().removeAll(titlesToRemove);

但是您必须小心直接从keySet删除值,因为某些地图可能不支持它。您可以更好地迭代titlesToRemove中的所有值,并使用地图上的remove方法删除每个值。