获取存储在数组数组中的对象的值,并将它们与Java相加

时间:2018-05-04 14:55:45

标签: java arrays loops iteration

我有一个包含4个参数的对象数组。 valueMAX valueMIN valueAVERAGE, TIME。 我的问题是,有时这个数组会变得很大,而我正试图将数组拆分成小数组,这样我就可以得到一个平均值。并将其作为唯一值插入。

例如:我的数组是300个对象,我将它分成另一个数组中的20个数组。 我如何循环数组数组,这样我只能得到valueMAX个对象,求它并存储它? 我要粘贴一些代码,这样我就可以更清楚了。

JSONArray resultArray= response.getJSONArray("result");
             Trends trends = new Trends();

//将值添加到主数组

 for(int i=0; i<resultArray.size(); i++) {
                 oggTrend.add(new Trends(trends.getRealDate(response.getJSONArray("result").getJSONObject(i).getIntValue("clock"))
                         , Double.parseDouble(response.getJSONArray("result").getJSONObject(i).getString("value_max"))
                         , Double.parseDouble(response.getJSONArray("result").getJSONObject(i).getString("value_avg"))
                         , Double.parseDouble(response.getJSONArray("result").getJSONObject(i).getString("value_min"))));
             }


             int resultSize = resultArray.size();

//拼接主数组的方法

static <T> List<List<T>> chopped(List<T> list, final int L) {
    List<List<T>> parts = new ArrayList<List<T>>();
    final int N = list.size();
    for (int i = 0; i < N; i += L) {
        parts.add(new ArrayList<T>(
            list.subList(i, Math.min(N, i + L)))
        );
    }
    return parts;
}




   if(resultSize>300 && resultSize<400) {

    //splicing the array in an array with lots of arrays that has 12 values
    ObjectSplit=chopped(oggTrend, 12);


//first loop to save the list array that contains the arrays with the objects
for (int i = 0; i < ObjectSplit.size(); i++) {


  List<Trends> list = ObjectSplit.get(i);
  System.out.println("+------list-----+");

//looping the list array that only has objects inside
for (int j = 0; j < list.size(); j++) {

//getting the average value with getter from object

    System.out.println(list.get(j).getMediaAverage() + "/----------val-------------/");

//trying to sum the average values from the objects inside list
fin += list.get(j).getMediaAverage();

   }

 }
}

当我system.out值是这个

+------list-----+
15.369/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2943/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2072/----------val-------------/
15.1325/----------val-------------/
15.3276/----------val-------------/
15.3004/----------val-------------/
15.1829/----------val-------------/
15.3316/----------val-------------/
+------list-----+
15.369/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2943/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2072/----------val-------------/
15.3316/----------val-------------/
15.369/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2819/----------val-------------/
+------list-----+
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2072/----------val-------------/
15.3316/----------val-------------/
15.369/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2819/----------val-------------/
15.3316/----------val-------------/
15.3814/----------val-------------/
15.2072/----------val-------------/
15.3316/----------val-------------/
+------list-----+

所以这些值被很好地分组,我不知道如何将这12个值相加并将它添加到一个对象中,然后迭代到下一个12个对象的下一个数组。 对不起的解释感到抱歉。我的英语非常糟糕。我希望有人可以提供帮助

0 个答案:

没有答案