[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-kakie-konechnye-metody-raboty-so-strimami-vy-znaete":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},372,"kakie-konechnye-metody-raboty-so-strimami-vy-znaete",10,"java-8","Java 8+","☕","Какие конечные методы работы со стримами вы знаете?","Конечные (терминальные) операции запускают обработку конвейера и возвращают результат — значение, коллекцию или `void`. После вызова терминальной операции стрим закрывается и повторно использоваться не может.\n\n### Основные терминальные операции\n\n| Метод | Возвращает | Описание |\n|-------|-----------|----------|\n| `collect()` | Коллекция \u002F структура данных | Сбор результатов |\n| `toArray()` | Массив | Преобразование в массив |\n| `forEach()` | `void` | Действие над каждым элементом (порядок не гарантирован в parallel) |\n| `forEachOrdered()` | `void` | Действие с гарантией порядка |\n| `reduce()` | `Optional` \u002F значение | Агрегация в одно значение |\n| `count()` | `long` | Количество элементов |\n| `min()` | `Optional` | Минимальный элемент по `Comparator` |\n| `max()` | `Optional` | Максимальный элемент по `Comparator` |\n| `findFirst()` | `Optional` | Первый элемент |\n| `findAny()` | `Optional` | Любой элемент (полезен в parallel) |\n| `anyMatch()` | `boolean` | Хотя бы один элемент удовлетворяет условию |\n| `allMatch()` | `boolean` | Все элементы удовлетворяют условию |\n| `noneMatch()` | `boolean` | Ни один элемент не удовлетворяет условию |\n\n### Дополнительно для числовых стримов\n\n| Метод | Описание |\n|-------|----------|\n| `sum()` | Сумма всех чисел |\n| `average()` | Среднее арифметическое |\n\nМетоды `findFirst()`, `findAny()`, `anyMatch()`, `allMatch()`, `noneMatch()` — short-circuiting: они могут завершить обработку, не дожидаясь всех элементов.\n\n> **На собеседовании:** перечислите хотя бы 7-8 методов, разделив их на категории: получение результата (`collect`, `reduce`, `toArray`), поиск (`findFirst`, `findAny`), проверка (`anyMatch`, `allMatch`, `noneMatch`), итерация (`forEach`).","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Какие конечные методы работы со стримами вы знаете? — Gymterview","Конечные (терминальные) операции запускают обработку конвейера и возвращают результат — значение, коллекцию или `void`. После вызова терминальной операции стрим","Конечные (терминальные) операции запускают обработку конвейера и возвращают результат — значение, коллекцию или `void`. ",[15,13],"Конечные (терминальные) операции запускают обработку конвейера и возвращают результат — значение, коллекцию или `void`. После вызова терминальной операции стрим закрывается и повторно использоваться не может.",true]