我为一个为期一年的学校项目编写了一个应用程序,其目的是为青少年展示阅读文章,让他们了解当前事件。
我想制作几个不同的ArrayList
类别来存储文章。对象是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);
所以基本上我想将文章添加到与其类别同名的ArrayList
,假设已经创建了ArrayList
,并且特定文章的类别与所需的{{1}相匹配}}
答案 0 :(得分: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);