Averages/Median: Difference between revisions
Content deleted Content added
add RPL |
|||
Line 2,128: | Line 2,128: | ||
Sorting: |
Sorting: |
||
<syntaxhighlight lang=" |
<syntaxhighlight lang="java"> |
||
double median(List<Double> values) { |
|||
/* copy, as to prevent modifying 'values' */ |
|||
List<Double> list = new ArrayList<>(values); |
|||
Collections.sort(list); |
Collections.sort(list); |
||
/* 'mid' will be truncated */ |
|||
return (list.get(list.size() / 2) + list.get((list.size() - 1) / 2)) / 2; |
|||
int mid = list.size() / 2; |
|||
⚫ | |||
return switch (list.size() % 2) { |
|||
case 0 -> { |
|||
double valueA = list.get(mid); |
|||
double valueB = list.get(mid + 1); |
|||
yield (valueA + valueB) / 2; |
|||
} |
|||
case 1 -> list.get(mid); |
|||
default -> 0; |
|||
}; |
|||
} |
|||
⚫ | |||
{{works with|Java|1.5+}} |
{{works with|Java|1.5+}} |