Metoda minMax

0

chcąc zaimplementować metode zapisującą najmniejszy i największy element z obiektu elementy do obiektu wynik z parametrami:
(List<T> elementy, Comparator<? super T> comp, List<? super T> wynik). Powinno to wglądać tak?

	public static <T> void minmax(List<T> elementy, Comparator<? super T> comp, List<? super T> wynik) {
		T min = Collections.min(elementy, comp);
		T max = Collections.max(elementy, comp);
		
		wynik.add(min);
		wynik.add(max);
	}

bo nie jestem pewien czy do końca dobrze rozumiem użycie "Comparator<? super T> comp" jako parametru.

0

Generalnie myślisz dobrze... Tylko, lepiej, żeby metoda zwracała listę z wynikami, a nie ją przyjmowała, tj.

public static <T> List<T> minMax(Collection<? super T> list, Comparator<? super T> comparator){
	return Arrays.asList(Collections.min(list, comp), Collections.max(list, comp));
}

Można też posortować i wybrać pierwszy i ostatni element z listy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1