Java 基于字符串属性向数组添加对象?

Java 基于字符串属性向数组添加对象?,java,arrays,string,arraylist,Java,Arrays,String,Arraylist,我正在为一个为期一年的学校项目编写一个应用程序,它的目的是向青少年展示一些文章,让他们阅读,让他们了解时事 我想制作几个不同的ArrayLists类别来存储文章。对象是文章(字符串URL、字符串类别、字符串标题) 我想知道,与其这样做,不如: Article p = new Article( "http://www.google.com", "economics", "Potato Article"); if(category.equals("elections")) elect

我正在为一个为期一年的学校项目编写一个应用程序,它的目的是向青少年展示一些文章,让他们阅读,让他们了解时事

我想制作几个不同的
ArrayList
s类别来存储文章。对象是
文章(字符串URL、字符串类别、字符串标题)

我想知道,与其这样做,不如:

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
已经生成,并且特定文章的类别匹配所需的
ArrayList

数据结构应该是
Map
,因此示例代码可以如下所示:

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);
地图=
新的HashMap();
map.put(“选举”,新ArrayList());
map.put(“经济学”,新ArrayList());
第1条=新条款(
"http://www.google.com","经济学","土豆",;
第2条=新条款(
"http://www.yyy.com“、”选举“、”xxx”);
map.get(article1.getCategory()).add(article1);
map.get(article2.getCategory()).add(article2);