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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как суммировать список целых чисел с потоками java?

Я хочу суммировать список целых чисел. Он работает следующим образом, но синтаксис не кажется правильным. Можно ли оптимизировать код? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
08 мая '15 в 16:39
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 отв.

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

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

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

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

Java 8 NullPointerException в Collectors.toMap

Java 8 Collectors.toMap выдает NullPointerException если одно из значений - "null". Я не понимаю этого поведения, карты могут содержать нулевые указатели как ценность без каких-либо проблем. Есть ли веская причина, почему значения не могут быть null...
08 июля '14 в 14:44
5 отв.

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

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

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

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