Averages/Median: Difference between revisions

(add RPL)
Line 2,128:
 
Sorting:
<syntaxhighlight lang="java5java">// Note: this function modifies the input list
public static double median(List<Double> listvalues) {
/* copy, as to prevent modifying 'values' */
List<Double> list = new ArrayList<>(values);
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;
}</syntaxhighlight>
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;
};
}
}</syntaxhighlight>
 
{{works with|Java|1.5+}}
118

edits