# minimum and maximum in array in java

```// Java program of above implementation
public class GFG {
/* Class Pair is used to return two values from getMinMax() */
static class Pair {

int min;
int max;
}

static Pair getMinMax(int arr[], int n) {
Pair minmax = new  Pair();
int i;

/*If there is only one element then return it as min and max both*/
if (n == 1) {
minmax.max = arr[0];
minmax.min = arr[0];
return minmax;
}

/* If there are more than one elements, then initialize min
and max*/
if (arr[0] > arr[1]) {
minmax.max = arr[0];
minmax.min = arr[1];
} else {
minmax.max = arr[1];
minmax.min = arr[0];
}

for (i = 2; i < n; i++) {
if (arr[i] > minmax.max) {
minmax.max = arr[i];
} else if (arr[i] < minmax.min) {
minmax.min = arr[i];
}
}

return minmax;
}

/* Driver program to test above function */
public static void main(String args[]) {
int arr[] = {1000, 11, 445, 1, 330, 3000};
int arr_size = 6;
Pair minmax = getMinMax(arr, arr_size);
System.out.printf("\nMinimum element is %d", minmax.min);
System.out.printf("\nMaximum element is %d", minmax.max);

}

}```

Here is what the above code is Doing:
1. The function getMinMax() takes an array and its size as arguments.
2. It creates a Pair object and initializes its min and max members with the first two elements of the array.
3. It then iterates through the remaining array elements and updates the min and max members of the Pair object accordingly.
4. Finally, it returns the Pair object.

The above code can be optimized to handle the case when there are two elements in the array.