mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-12 14:49:56 +01:00
Improved Session Length Median calculation on even number of sessions
This commit is contained in:
parent
3afaad9731
commit
bae8708e87
@ -7,6 +7,7 @@ import com.djrapitops.plan.data.store.containers.DataContainer;
|
|||||||
import com.djrapitops.plan.data.store.keys.CommonKeys;
|
import com.djrapitops.plan.data.store.keys.CommonKeys;
|
||||||
import com.djrapitops.plan.data.store.keys.SessionKeys;
|
import com.djrapitops.plan.data.store.keys.SessionKeys;
|
||||||
import com.djrapitops.plan.data.time.WorldTimes;
|
import com.djrapitops.plan.data.time.WorldTimes;
|
||||||
|
import com.djrapitops.plan.utilities.analysis.Median;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@ -142,13 +143,8 @@ public class SessionsMutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long toMedianSessionLength() {
|
public long toMedianSessionLength() {
|
||||||
List<Long> sessionLengths = sessions.stream().map(Session::getLength)
|
List<Long> sessionLengths = sessions.stream().map(Session::getLength).collect(Collectors.toList());
|
||||||
.sorted()
|
return (long) Median.forLong(sessionLengths).calculate();
|
||||||
.collect(Collectors.toList());
|
|
||||||
if (sessionLengths.isEmpty()) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return sessionLengths.get(sessionLengths.size() / 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int toAverageUniqueJoinsPerDay() {
|
public int toAverageUniqueJoinsPerDay() {
|
||||||
@ -200,5 +196,4 @@ public class SessionsMutator {
|
|||||||
return toPlayerDeathList().size();
|
return toPlayerDeathList().size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user