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);