У меня есть метод, который возвращает количество объектов с более высоким значением, чем среднее значение всех объектов в пределах ArrayList
.Каков наилучший способ найти среднее значение объектов, хранящихся в arraylist?
Объект «Пользователь» имеет целочисленное значение, хранящееся в его классе (уровне).
Мой метод работает, но мне интересно, есть ли лучший способ найти среднее значение всех значений объекта?
public int bestPlayers() {
ArrayList<User> players = new ArrayList<User>();
int bestPlayers = 0;
int totalPlayerLevel = 0;
double averageLevel = 0;
for (int i = 0; i < players.size(); i++) {
totalPlayerLevel += players.get(i).level;
}
averageLevel = totalPlayerLevel/players.size();
for (int i = 0; i < players.size(); i++) {
if (players.get(i).level > averageLevel) {
bestPlayers++;
}
}
return bestPlayers;
}
'averageLevel = (double) totalPlayerLevel/players.size;' для лучшей точности. – MikeCAT
http://stackoverflow.com/questions/12002332/how-to-manipulate-arrays-find-the-average-beginner-java – Idos
'averageLevel = (double) totalPlayerLevel/players.size();' может быть лучше, потому что свойство 'java.util.ArrayList.size' является закрытым. – MikeCAT