Java Поменять местами элементы массива

Помогите поменять местами max и min значение массива. Сами значения нашёл, местами поменял, а как это в массиве непосредственно сделать..? Подозреваю, что нужны индексы для этого, но как? мой код:

    int[] arr = new int[] {101, 10, 11, 100, 32, 34, -61, 14, 90, 29, -5};
    int max = arr[0];
    int min = arr[0];
    int maxInd = 0;
    int minInd = 0;
    for (int i = 0; i < arr.length; i++) {
        max = Math.max(max, arr[i]);
        min = Math.min(min, arr[i]);
    }
    int temp = min;
    min = max;
    max = temp;
    System.out.println(min);
    System.out.println(max);
}

Ответы (2 шт):

Автор решения: Вадим

Да, для перестановки элементов массива, помимо того что запоминать значение максимального элемента, необходимо также запоминать его индекс (позицию в массиве), причем переменные индексов у вас уже заведены, поэтому остается только реализовать код, например так:

int[] arr = new int[]{101, 10, 11, 100, 32, 34, -61, 14, 90, 29, -5};
int max = arr[0];
int min = arr[0];
int maxInd = 0;
int minInd = 0;
for (int i = 0; i < arr.length; i++) {
    if (max > arr[i]) { // сравниваем 
        maxInd = i; // запоминаем индекс
        max = arr[i]; // запоминаем значение
    }
    if (min < arr[i]) { // сравниваем 
        minInd = i; // запоминаем индекс
        min = arr[i]; // запоминаем значение
    }
}
// переставляем элементы
int temp = arr[minInd];
arr[minInd] = arr[maxInd];
arr[maxInd] = temp;
Arrays.stream(arr).forEach(e-> System.out.println(e)); // вывод массива
→ Ссылка
Автор решения: Инна Якунченкова

Если требуется вывести min и max элемент массива, то лучше отсортировать массив через Arrays.sort() и вывести первый и последний элементы в массиве.

→ Ссылка