根据条件动态创建Arraylist并向其添加数据

时间:2016-08-12 05:34:41

标签: java arraylist

我有一个包含一组对象的Arralist,其中每个对象都有字段(deptname,year,count)。我知道我们可以使用for循环

动态创建arraylist
     List<List<ReportEPVO>> dataList = new ArrayList<List<ReportEPVO>>();

     for(int i = 1; i <= n; i++) {
         List<ReportEPVO> tempList = new ArrayList<ReportEPVO>();
         dataList.add(tempList);
     }

我的要求是,例如:分别有年度字段2013,2014,2015的对象。我想动态创建arraylists并在同一个arraylist上添加具有相同年份字段的对象。任何帮助?请不要downvote我是数据结构的新手..

这可能是将带有yearfield 2013的对象添加到名为temp13的arraylist的代码。

    List<ReportEPVO> temp13 = new ArrayList<ReportEPVO>();
    for(ReportEPVO re : reportEPvo) {
        if(re.getJoinYear().equals("2013") )
            temp13.add(re);
    }

我如何动态创建arraylists以存储对象,例如2013年,2014年等年份?

1 个答案:

答案 0 :(得分:0)

通常在这种情况下我会做类似

的事情
Map<String, List<MyObject> myListMap = new HashMap();

for(MyObject myObject : myObjects){
   List<Object> myObjectList = myListMap.get(myObject.getIndexAttribute());
   if(myObjectList == null){
       myObjectList = new ArrayList();
       myListMap.put(myObject.getIndexAttribute(), myObjectList);
   }
   myObjectList.add(myObject);
}