我有一个包含某些条目的列表。每个条目都有一个SourceTitle。多个条目可以具有相同的SourceTitle。我想创建一个新列表,其中包含具有相同SourceTitle的条目。
如何过滤我的列表?
答案 0 :(得分:0)
这个小例子(它只是示例代码)遍历List
中的每个条目,并使用与lists
中相同的SourceTitle
创建尽可能多的List
。
public static void main(String[] args) {
List<MyEntry> entries = Arrays.asList(newEntry("A"), newEntry("B"), newEntry("B"), newEntry("A"));
Map<String, List<MyEntry>> lists = new HashMap<>();
for (MyEntry entry : entries) {
List<MyEntry> list = lists.get(entry.sourceTitle);
if (list == null) {
list = new ArrayList<>();
lists.put(entry.sourceTitle, list);
list.add(entry);
}
}
}
class MyEntry {
String sourceTitle;
public static MyEntry newEntry(String sourceTitle) {
MyEntry entry = new MyEntry();
entry.sourceTitle = sourceTitle;
return entry;
}
}
lists.keySet()
包含所有不同的SourceTitles
找到。lists.values()
包含共享相同SourceTitle
。