Java 8 +
Вы можете использовать Stream
и лямбда-выражения:
Integer[] numbers = {1, -5, 3, 2, -4, 7, 8};
Integer[] positives = Arrays.asList(numbers)
.stream()
.filter(i -> i > 0) // >= to include 0
.toArray(Integer[]::new);
System.out.println(Arrays.asList(positives));
Выход:
[1, 3, 2, 7, 8]