Java 从内部映射检索arraylist
我有一个查询,我有一个数组列表,它包含在不同的arraylist中,如下所示Java 从内部映射检索arraylist,java,Java,我有一个查询,我有一个数组列表,它包含在不同的arraylist中,如下所示 List<abcInfo> abcabcdata = new ArrayList<abcInfo>(); //first arraylist abcInfo abcdeed = new abcInfo(); abcdeed.setHeader("AAAA"); abcdeed.setabcdata(getNormalFuturesFeedList()); //L
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);
List abcabcata=newarraylist()//第一阵列列表
abcInfo abcdeed=新的abcInfo();
abcdeed.setHeader(“AAAA”);
setabcdata(getNormalFuturesFeedList())//列表中包含另一个arraylist
abcabcdata.add(abcdeed);
abcInfo abcdgen=新的abcInfo();
abcdgen.setHeader(“BBBB”);
setabcdata(getabcdgenList())//此方法重新命名arraylist,它包含另一个arraylist中的列表
abcabcata.add(abcdgen);
现在的查询是,我将最后一个列表放在一个映射中,因此reportmap本身就是一个arraylist,其中包含两个不同的arraylist
HashMap<String, Object> abcdata = new HashMap<String, Object>();
abcdata.put("YTRE", abcabcdata);
HashMap abcdata=newhashmap();
abcdata.put(“YTRE”,abcabcata);
最后,我将根据键重新调整这个数组列表
List<abcInfo> listWDownNoticesInfo = (ArrayList<abcInfo>)abcdata.get("YTRE");
List listwDownnoticeInfo=(ArrayList)abcdata.get(“YTRE”);
现在我的问题是,我必须统计那些标题为AAAA的人,以及那些标题为BBBB付款的人。请告知如何实现这一点。反复浏览
列表,检查每个元素并计数。请跟我来
List listwDownnoticeInfo=(ArrayList)abcdata.get(“YTRE”);
迭代器itr=ListwDownNoticeInfo.Iterator();
int countA=0;
int countB=0;
while(itr.hasNext()){
abcInfo元素=itr.next();
if(element.getHeader()等于(“AAAA”)){
countA++;
}
if(element.getHeader()等于(“BBBB”)){
countB++;
}
}
对不起,这是新来的白痴。
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++;
}
}
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);