[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-dlya-chego-v-strimakh-prednaznachen-metod-sorted":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},369,"dlya-chego-v-strimakh-prednaznachen-metod-sorted",10,"java-8","Java 8+","☕","Для чего в стримах предназначен метод sorted?","`sorted()` — промежуточная операция, которая возвращает стрим с элементами, отсортированными в натуральном порядке (по `Comparable`) или по заданному `Comparator`. Исходная коллекция при этом не изменяется — `sorted()` создаёт отсортированное представление.\n\n```java\nStream.of(\"banana\", \"apple\", \"cherry\")\n    .sorted()\n    .forEach(System.out::println); \u002F\u002F apple, banana, cherry\n\nStream.of(\"banana\", \"apple\", \"cherry\")\n    .sorted(Comparator.reverseOrder())\n    .forEach(System.out::println); \u002F\u002F cherry, banana, apple\n```\n\nВажно учитывать, что `sorted()` является stateful-операцией: для сортировки необходимо накопить все элементы в буфер, что потребляет память пропорционально размеру стрима. На бесконечных стримах вызов `sorted()` без предварительного `limit()` приведёт к зависанию.\n\n> **На собеседовании:** подчеркните, что `sorted()` — stateful и потребляет память O(n). Также упомяните, что для примитивных стримов (`IntStream`) сортировка выполняется только в натуральном порядке — `Comparator` не принимается.","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Для чего в стримах предназначен метод limit? — Gymterview","`limit(long maxSize)` — промежуточная операция, которая ограничивает стрим заданным количеством первых элементов. Она особенно важна при работе с бесконечными с","`limit(long maxSize)` — промежуточная операция, которая ограничивает стрим заданным количеством первых элементов. Она ос",[15,13],"`limit(long maxSize)` — промежуточная операция, которая ограничивает стрим заданным количеством первых элементов. Она особенно важна при работе с бесконечными стримами (`Stream.iterate`, `Stream.generate`), где без `limit()` конечная операция никогда не завершится.",true]