У меня есть ArrayList и еще один int, который приходит с консоли. Я хочу найти самое близкое число, большее, чем int в списке, используя stream(). Почему это не работает:сравнение Целые числа, использующие .stream() в java
Scanner scn = new Scanner(System.in);
int numOfRows = scn.nextInt();
int nextNumber = scn.nextInt();
for (int i = 0; i < numOfRows; i++) {
String[] input = scn.nextLine().split(" ");
ArrayList<Integer> nums = new ArrayList<>();
for (int j = 0; j < input.length; j++) {
nums.add(Integer.parseInt(input[j]));
}
nextNumber = nums.stream().filter(x -> x > nextNumber).findFirst();
System.out.println(nextNumber);
}
Вы забыли сообщить нам сообщение об ошибке компилятора (этот код не компилируется). – Seelenvirtuose
Вам необходимо отсортировать список фильтров или применить к нему минимальную() операцию. findFirst() не является самым близким, но первым числом, которое больше, чем nextNumber. – eckes