2015-04-06 96 views
2

我正在爲一個爲期一年的學校項目編寫一個應用程序,其目的是爲青少年展示文章以閱讀對當前事件的教育。將對象添加到基於String屬性的數組中?

我要打幾個不同ArrayList s個分類的公司章程存儲中的對象是Article(String URL, String Category, String title)

我想知道如果,而不是做這樣的:

Article p = new Article(
    "http://www.google.com", "economics", "Potato Article"); 
if(category.equals("elections")) 
    elections.add(p); 
if(category.equals("economics")) 
    economics.add(p); 
// etc. 

如果有一些我可以做這樣的事情:

String name = category; 
(something).something(name); 
name.add(p); 

所以基本上我想要的文章添加到同一n的ArrayList ame作爲其類別,假設已經制作了ArrayList,並且特定商品的類別與期望的ArrayList匹配。

回答

3

數據結構應該是Map<String, List<Article>>,所以一個示例代碼可能如下:

Map<String, List<Article>> map = 
    new HashMap<String, List<Article>>(); 

map.put("elections", new ArrayList<Article>()); 
map.put("economics", new ArrayList<Article>()); 

Article article1 = new Article(
    "http://www.google.com", "economics", "Potato"); 
Article article2 = new Article(
    "http://www.yyy.com", "elections", "xxx"); 

map.get(article1.getCategory()).add(article1); 
map.get(article2.getCategory()).add(article2);