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

81
Как составить новый список со свойством объекта, находящегося в другом списке

Представьте, что у меня есть список определенных объектов: List<Student> И мне нужно создать еще один список, включая idsиз Studentsприведенного выше списка: List<Integer> Можно ли этого добиться, избегая использования цикла, используя коллекции apache или guava ? Какие методы должны...

80
Проверить instanceof в потоке

У меня есть такое выражение: scheduleIntervalContainers.stream() .filter(sic -> ((ScheduleIntervalContainer) sic).getStartTime() != ((ScheduleIntervalContainer)sic).getEndTime()) .collect(Collectors.toList()); ... где scheduleIntervalContainersесть тип элемента ScheduleContainer: final...

33
Операции промежуточного потока не учитываются при подсчете

Кажется, у меня проблемы с пониманием того, как Java объединяет потоковые операции в потоковый конвейер. При выполнении следующего кода public static void main(String[] args) { StringBuilder sb = new StringBuilder(); var count = Stream.of(new String[]{"1", "2", "3", "4"}) .map(sb::append) .count();...

19
Как я могу пропустить вызов лимита (номера) с потоком, когда число равно 0?

У меня есть некоторый код Java, который предоставляет объекты из items. Это ограничивает их на основе maxNumber: items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); Это работает правильно, но вопрос в следующем: есть ли способ...

16
Параллельные бесконечные потоки Java исчерпывают память

Я пытаюсь понять, почему следующая Java-программа дает OutOfMemoryError, а соответствующая .parallel()- нет. System.out.println(Stream .iterate(1, i -> i+1) .parallel() .flatMap(n -> Stream.iterate(n, i -> i+n)) .mapToInt(Integer::intValue) .limit(100_000_000) .sum() ); У меня есть два...

13
Как создать карту с различными значениями из карты (и использовать правильный ключ, используя BinaryOperator)?

У меня есть карта, Map<K, V>и моя цель состоит в том, чтобы удалить дублированные значения и Map<K, V>снова вывести ту же структуру . В случае дублируется значение найдено, то необходимо выбрать один ключ ( k) из двух клавиш ( k1и k1) , которые держат эти ценности, по этой причине,...

12
Можете ли вы восстановить баланс несбалансированного Spliterator неизвестного размера?

Я хочу использовать Streamдля распараллеливания обработки разнородного набора JSON-файлов с удаленным хранением неизвестного числа (количество файлов не известно заранее). Размер файлов может варьироваться от 1 записи JSON на файл до 100 000 записей в некоторых других файлах. Запись JSON в этом...

12
Как понять этот метод Java 8 Stream collect ()?

Я пытался преобразовать массив int в List, и я выбрал незнакомый путь использования Java 8 Stream и придумал Arrays.stream(arr).boxed().collect(Collectors.toList()); Я до сих пор с трудом полностью понимаю эту строку, в основном, Почему Collectors.toList()в этом случае возвращается...

11
Очистка списка данных в Java8

Для очистки списка данных я создал метод, который принимает список данных и список операций очистки, которые необходимо выполнить. public <T> List<T> cleanData(List<T> data, List<Function<T, T>> cleanOps) { List<T>dataNew=data.stream().map((str) -> { T...

11
Параллельный поток Java - порядок вызова метода parallel () [closed]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 дня назад . AtomicInteger recordNumber = new AtomicInteger();...

11
Выборочная сортировка таким образом, что A предшествует a, а B - перед b

У меня есть список цветов, как это: Розовый, синий, красный, синий, серый, зеленый, фиолетовый, черный ... и т. Д. List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black"); Есть некоторые промежуточные операции, такие как фильтрация цветов...

10
Как найти самую последнюю дату по заданному значению карты в Java

У меня есть хэш-карта со значениями ниже, в значениях у меня дата в качестве строкового типа данных. Я хотел бы сравнить все даты, которые доступны на карте, и извлечь только одно значение ключа, которое имеет очень недавнюю дату. Я хотел бы сравнить со значениями, а не ключами. Я включил код ниже...

10
Условно удалить первый (с нулевым индексом) элемент из потока

У меня есть следующий код: Stream<String> lines = reader.lines(); Если первая строка равна, "email"я хочу удалить первую строку из потока. Для других строк из потока мне не нужна эта проверка. Как я мог заболеть? PS Конечно, я могу преобразовать его в список, затем использовать old school for...

10
Как peek () и allMatch () работают вместе в Java 8 Stream API

Я нашел тест о Java 8 Stream API метода просмотра, как показано ниже Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); Выход Fred Jim Я запутался, как работает этот поток? Мой ожидаемый результат должен быть Fred Jim Sheila Метод peek...

9
Возвращение списка по умолчанию, если список пуст, используя java 8 Streams?

Есть ли способ, чтобы нижеприведенное можно было выполнять как один набор потоковых операций, вместо того, чтобы явно проверять, является ли рекомендуемый продукт пустым, затем возвращать список по умолчанию, иначе возвращать отфильтрованный список ? public List<Product>...