1

你能否就这个问题给我一些建议:

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

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

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

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

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

4

1 回答 1

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

于 2013-01-03T08:09:25.463 回答