Вопросы с тегом 'java-stream'

Используйте этот тег для вопросов, связанных с использованием Stream API. Он был представлен на Java 8 и поддерживает операции функционального стиля в потоках значений, таких как конвейеры фильтрации-карты-уменьшения в коллекциях.
14
ответов

Java 8 Список <V> в карту <K, V>

Я хочу перевести список объектов в карту с использованием потоков Java 8 и lambdas. Вот как я напишу его в Java 7 и ниже. private Map<String, Choice> nameMap(List<Choice> choices) { final Map<String, Choice> hashMap = new ...
задан 04 дек. '13 в 2:18
16
ответов

Какая разница между методами map и flatMap в Java 8?

В Java 8, какая разница между Stream.map и Stream.flatMap?
задан 01 нояб. '14 в 1:53
6
ответов

Как преобразовать поток Java 8 в массив?

Каков самый простой/короткий способ преобразования Java 8 Stream в массив?
задан 15 апр. '14 в 12:00
11
ответов

Получение списка из java.util.stream.Stream в Java 8

Я играл с Java 8 lambdas, чтобы легко фильтровать коллекции. Но я не нашел краткого способа получить результат как новый список в одном и том же выражении. Вот мой самый краткий подход: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 8...
задан 12 февр. '13 в 13:26
8
ответов

Преобразование Iterable в Stream с использованием Java 8 JDK

У меня есть интерфейс, который возвращает java.lang.Iterable<T>. Я хотел бы обработать этот результат с помощью Java 8 Stream API. Однако Iterable не может "Поток". Как лучше использовать потоки (без преобразования Iterable в List)?
задан 29 мая '14 в 14:16
4
ответов

Найти первый элемент по предикату

Я только начал играть с Java 8 lambdas, и я пытаюсь реализовать некоторые вещи, к которым я привык, в функциональных языках. Например, большинство функциональных языков имеют некоторую функцию поиска, которая работает с последовательностями или спис...
задан 16 мая '14 в 16:28
17
ответов

Есть ли сжатый способ перебора потока с индексами в Java 8?

Есть ли сжатый способ итерации по потоку, имея доступ к индексу в потоке? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(in...
задан 31 авг. '13 в 22:31
8
ответов

Пользовательский пул потоков в параллельном потоке Java 8

Можно ли указать собственный пул потоков для Java 8 параллельный поток? Я не могу найти его нигде. Представьте, что у меня есть серверное приложение, и я хотел бы использовать параллельные потоки. Но приложение является большим и многопоточным, поэт...
задан 16 янв. '14 в 16:26
5
ответов

Должен ли я всегда использовать параллельный поток, когда это возможно?

С Java 8 и lambdas легко перебирать коллекции как потоки и так же просто использовать параллельный поток. Два примера из документов, второй - с помощью parallelStream: myShapesCollection.stream() .filter(e -> e.getColor() == Color.RED) .f...
задан 04 дек. '13 в 15:17
16
ответов

Java 8 Различают по свойству

В Java 8 как я могу фильтровать коллекцию с помощью API Stream, проверяя отличимость свойства каждого объекта? Например, у меня есть список объектов Person, и я хочу удалить людей с тем же именем, persons.stream().distinct(); Будет использовать...
задан 16 мая '14 в 18:40
5
ответов

Почему Java-потоки отключены?

В отличие от С# IEnumerable, где конвейер выполнения может выполняться столько раз, сколько мы хотим, в Java поток может быть "итерирован" только один раз. Любой вызов операции терминала закрывает поток, что делает его непригодным. Эта "особенность...
задан 11 февр. '15 в 19:33
7
ответов

Почему Stream <T> не реализует Iterable <T>?

В Java 8 мы имеем класс Stream <T> , который любопытно имеет метод Iterator<T> iterator() Итак, вы ожидаете, что он реализует интерфейс Iterable <T> , который требует именно этого метода, но это не так. Когда я хочу перебрать по...
задан 21 нояб. '13 в 22:06
12
ответов

Как я могу удалить CHECKED исключения из внутренних потоков Java 8? (Не обертывая его в непроверенные исключения)

Как я могу удалить CHECKED исключения изнутри Java 8 streams/lambdas? Другими словами, я хочу сделать код, подобный этой компиляции: public List<Class> getClasses() throws ClassNotFoundException { List<Class> classes = ...
задан 25 дек. '14 в 8:09
4
ответов

Java 8 stream.min() и .max(): зачем это компилируется?

Примечание: этот вопрос исходит из мертвой ссылки, которая была предыдущим вопросом SO, но здесь идет... Смотрите этот код (note: Я знаю, что этот код не будет работать и что Integer::compare должен использоваться - я просто извлек его из связанног...
задан 21 марта '14 в 17:31
9
ответов

Использование Java 8 Дополнительно с Stream:: flatMap

Новая инфраструктура Java-8 и друзья делают для очень сжатого Java-кода, но я столкнулся с кажущейся простой ситуацией, которая сложнее сделать в сжатом виде. Рассмотрим a List<Thing> things и метод Optional<Other> resolve(Thing thing)....
задан 29 марта '14 в 3:42