Если ваш класс получает много трафика, вы не хотите хранить все время в списке, вместо этого я бы предложил вам создать служебный класс, который поможет вам отслеживать значения, необходимые для получения MIN, MAX и AVGпримерно так:
public class TimeHistory {
private Long minTime = Long.MAX_VALUE;
private Long maxTime = Long.MIN_VALUE;
private Long timeSum = 0L;
private Long timeCount = 0L;
public void logTime(long time){
if(time < minTime){
minTime = time;
}
if(time > maxTime){
maxTime = time;
}
timeSum += time;
timeCount++;
}
public Long getMinTime() {
return minTime;
}
public Long getMaxTime() {
return maxTime;
}
public Long getTimeAvg() {
return timeSum / timeCount;
}
}
Здесь вы вызываете метод logTime (время);каждый раз, когда вам нужно, и он позаботится о том, чтобы эти значения обновлялись для вас, затем вам нужно просто вызвать методы getMinTime (), getMaxTime () или getTimeAvg ().
Надеюсь, это поможет; -)