我有一个包含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个对象的下一个数组。 对不起的解释感到抱歉。我的英语非常糟糕。我希望有人可以提供帮助