import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Example {
public static void main(String[] args) {
Integer[] arr = {3, 5, 1, 6, 1, 1, 9, 8, 9, 9, 9, 7, 4};
int max = Arrays.stream(arr).max(Integer::compare).orElse(Integer.MIN_VALUE);
int min = Arrays.stream(arr).min(Integer::compare).orElse(Integer.MAX_VALUE);
int[] onemin = {0};
int[] onemax = {0};
List<Integer> result = Arrays.stream(arr)
.filter(i -> (i > min || onemin[0]++ == 0) && (i < max || onemax[0]++ == 0))
.collect(Collectors.toList());
System.out.println(result.stream().map(String::valueOf).collect(Collectors.joining(" ")));
}
}
/*
run:
3 5 1 6 9 8 7 4
*/