13. Получить список без первых и последних трёх элементов
Условие задачи:
📌 Есть List<String> произвольной длины.
Нужно за одну стрим-операцию (один конвейер) получить список:
без первых 3 элементов,
без последних 3 элементов.
Исходные данные (пример):
List<String> list = List.of(
"a","b","c","d","e","f","g","h","i","j"
);
Спойлеры к решению
Подсказки
💡 Для пропуска первых элементов используется
💡 Для ограничения количества элементов используется
💡 Количество элементов после обрезки можно вычислить как
💡 Весь код должен быть в одном stream-конвейере.
skip(n).💡 Для ограничения количества элементов используется
limit(n).💡 Количество элементов после обрезки можно вычислить как
list.size() - 6.💡 Весь код должен быть в одном stream-конвейере.
Решение
List<String> result = list.stream()
.skip(3)
.limit(Math.max(0, list.size() - 6))
.toList();