从List <customobject>创建关于值</customobject>的新列表

时间:2014-04-29 08:05:31

标签: java list filter

我有一个包含某些条目的列表。每个条目都有一个SourceTitle。多个条目可以具有相同的SourceTitle。我想创建一个新列表,其中包含具有相同SourceTitle的条目。

如何过滤我的列表?

1 个答案:

答案 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
  • 的所有条目列表
相关问题