【问题标题】:How to store this lists and compare them Java advice?如何存储此列表并比较它们 Java 建议?
【发布时间】:2012-12-17 13:59:45
【问题描述】:
您能否就这个问题给我一些建议:
我有两个类型的标题列表:
- title1______title1
- title1a___title2
- title1c___title3
- title1b___title4
- title2______title3
- title4
- title5
并且第一个列表必须附加一个文件名列表。
如何存储这两个列表以便比较它们?
目前我已将两个列表存储为 ArrayList,并将它们与第一个列表上应用的 removeAll 进行比较。
如何存储第一个列表,以便它与每个标题的文件名具有请求的连接,并且仍然能够将它与第二个列表进行比较?
【问题讨论】:
标签:
java
string
list
multidimensional-array
storing-information
【解决方案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 方法删除每个值。