2014-04-29 50 views
-1

我有一個列表與某些條目。每個條目都有一個SourceTitle。多個條目可以具有相同的SourceTitle。我想創建一個包含具有相同SourceTitle條目的新列表。從列表<自定義對象>創建新的列表相對於值

如何過濾我的列表?

+0

通過代碼更好地描述的單詞 – Baby

+0

如果您的'List'包含許多共享相同'SourceTitle'的組,那麼您會如何看待? – Harmlezz

+0

我投下的票 - 看起來不像你試過任何東西。另外 - 什麼是「SourceTitle」 - 什麼類型? –

回答

0

這個小例子(它只是示例代碼)迭代中的List每個條目,並在你的List發現,創建多lists具有相同SourceTitle

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