In: Computer Science
USE JAVA
Write a static generic method PairUtil.minmax that computes the minimum and maximum elements of an array of type T and returns a pair containing the minimum and maximum value. Require that the array elements implement the Measurable interface of Chapter 10.
import javafx.util.Pair; public class PairUtil { public static <T extends Measurable> Pair<T, T> minmax(T[] arr) { T min = arr[0], max = arr[0]; for (int i = 0; i < arr.length; i++) { if (arr[i].getMeasure() > max.getMeasure()) { max = arr[i]; } if (arr[i].getMeasure() < min.getMeasure()) { min = arr[i]; } } return new Pair<>(min, max); } public static void main(String[] args) { Measurable[] arr = { new Measurable() { @Override public double getMeasure() { return 10; } }, new Measurable() { @Override public double getMeasure() { return 2; } }, new Measurable() { @Override public double getMeasure() { return 7; } }, new Measurable() { @Override public double getMeasure() { return 9; } }, }; Pair<Measurable, Measurable> pair = minmax(arr); System.out.println("Min: " + pair.getKey().getMeasure()); System.out.println("Max: " + pair.getValue().getMeasure()); } }