0

我有一个查询,我有一个包含不同数组列表的数组列表,如下所示

List<abcInfo> abcabcdata = new ArrayList<abcInfo>(); //first arraylist

abcInfo abcdeed = new abcInfo();
        abcdeed.setHeader("AAAA");
        abcdeed.setabcdata(getNormalFuturesFeedList()); //List<FuturesFeedObject> it contains another arraylist
        abcabcdata.add(abcdeed);

        abcInfo abcdgen= new abcInfo();
        abcdgen.setHeader("BBBB");
        abcdgen.setabcdata(getabcdgenList()); //this method reurn arraylist, it contains list inside another arraylist
        abcabcdata.add(abcdgen);

现在查询是我将最终列表放入地图中,因此 reportmap 本身就是一个数组列表,其中包含两个不同的数组列表

HashMap<String, Object> abcdata = new HashMap<String, Object>();
        abcdata.put("YTRE", abcabcdata);

最后我根据键检索这个数组列表

List<abcInfo> listWDownNoticesInfo = (ArrayList<abcInfo>)abcdata.get("YTRE");

现在我的问题是我必须计算标题为 AAAA 的人以及标题为 BBBB 付款的人的数量,请告知如何实现这一点。

4

2 回答 2

1

遍历List,检查每个元素并计数。请遵循Java 编码和命名约定

List<abcInfo> listWDownNoticesInfo = (ArrayList<abcInfo>)abcdata.get("YTRE");
Iterator<abcInfo> itr = listWDownNoticesInfo .iterator();
int countA = 0;
int countB = 0;
while(itr.hasNext()) {
    abcInfo element = itr.next();
    if(element.getHeader().equals("AAAA")){
      countA++;
    }
    if(element.getHeader().equals("BBBB")){
      countB++;
    }
}
于 2013-05-27T06:20:57.297 回答
0
int count1 = 0;
int count2 = 0;
for(abcInfo obj:listWDownNoticesInfo){

 if(obj.getHeader.equals("AAA")
   count1++;
 else  if(obj.getHeader.equals("BBB")
   count2++;

}

System.out.println("Header AAA count:"+count1);
System.out.println("Header BBB count:"+cpunt2);
于 2013-05-27T06:21:15.733 回答