【问题标题】:Adding objects to an array based on a String attribute?根据字符串属性将对象添加到数组中?
【发布时间】:2015-04-06 00:32:46
【问题描述】:

我正在编写一个为期一年的学校项目的应用程序,其目的是展示文章供青少年阅读,以教育他们了解时事。

我想创建几个不同的ArrayLists 类别来存储文章。对象是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 已经创建,并且特定文章的类别与所需的ArrayList 匹配。

【问题讨论】:

    标签: java arrays string arraylist


    【解决方案1】:

    数据结构应该是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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多