图a
图b
需求:从图a的集合中,按照图b的transName获取不同transName下面的transResTimeNum的集合;
解决办法:
1. 获取transName为一个list;
2. 获取上面的包含transName,transResTimeNum为一个beanList(之前建立过的bean);
3. 先遍历list,然后再遍历beanList,加上判断条件transName是否一致来进行获取transResTimeNum;
4. 将trasnResNum放入到一个double类型的结合中去,然后分别放入到json中去。
代码如下:
public JSONArray getTransResTimeNum(String runId,int runningTime) {
List<String> list = new ArrayList<String>();
list = getTransName(runId);// [init, uninit, login]
beanlist = getTransBeanList(runId,runningTime);
double transResTimeNum = 0;
String transName = null;
for (int i = 0; i < list.size(); i++) {
transName = list.get(i);
doubleList = new ArrayList();//新建list为不同transName存放double集合
for (int j = 0; j < beanlist.size(); j++) {
bean = beanlist.get(j);
if (transName.equals(bean.getTransName())) {
transResTimeNum = bean.getTransResTimeNum();
json.element("name", transName);
doubleList.add(transResTimeNum);
}
}
json.element("data", doubleList);
}
//尝试先遍历beanList,然后再去遍历list,发现添加集合时会将整个的transResTimeNum添//加到每一个对应的transName下面,大小集合的遍历顺序很重要
for(int i=0;i<beanlist.size();i++){
bean=beanlist.get(i);
transName=bean.getTransName();
for(int j=0;j<list.size();j++){
if(transName.equals(list.get(j))){
transResTimeNum=bean.getTransResTimeNum();
json.element("name", transName);
doubleList.add(transResTimeNum);
}
}
json.element("data", doubleList);
}