Страницы

Поиск по вопросам

среда, 12 декабря 2018 г.

Как удалить из коллекции все отрицательные числа?

Можно это сделать используя java.util.stream? Пытался сделать это обычным способом, но не получается, думаю из-за сдвига после remove()
List list = new ArrayList(); list.add(-1); list.add(-2); list.add(-3); list.add(4); list.add(1);
for(int i = 0; i <= list.size(); i++) { if(list.get(i) < 0) list.remove(i); }


Ответ

By Эникейщик
Нельзя идти по массиву и проводить с ним манипуляции! Создайте новый массив и добавляйте туда элементы, удовлетворяющие условию.
List list = new ArrayList(Arrays.asList(-1,-2,-3,5,4,2));
List list2 = new ArrayList<>();
for(int i = 0; i <= list.size(); i++) if(list.get(i) > 0) list2.add(list.get(i));

Комментариев нет:

Отправить комментарий