Описание тега spliterator
Java Spliterator похож на итератор, но он поддерживает не только методы для обхода источника данных, но и для его разделения (разделения). Это позволяет использовать сплитератор как при последовательном, так и при параллельном обходе потока Java.
2
ответа
Оценка Size() для последовательного Spliterator
Я реализую Spliterator что явно ограничивает распараллеливание, имея trySplit() вернуть null, Будет внедрять estimateSize() предложить какие-либо улучшения производительности для потока, созданного этим сплитератором? Или приблизительный размер поле…
07 июн '15 в 09:03
2
ответа
Как ограничить поток для запуска последовательно и запретить его параллельную работу?
У меня есть метод, который возвращает поток, который генерируется из пользовательского сплитератора; Сплитератор не является безопасным протектором. Поскольку сплитератор не является безопасным протектором и поддерживает состояние, я хочу, чтобы он …
20 ноя '15 в 20:39
1
ответ
Странные циклы, используемые в Spliterator of Java 8
Кто-нибудь знает, почему java.util.Spliterator реализация использует циклы do-while, а не while, когда тело цикла пустое? Например, реализация forEachRemaining является: default void forEachRemaining(Consumer<? super T> action) { do { } while …
19 май '16 в 12:41
4
ответа
Понимание Spliterator, Collector и Stream в Java 8
У меня проблемы с пониманием Stream интерфейс в Java 8, особенно там, где это связано с Spliterator а также Collector интерфейсы. Моя проблема в том, что я просто пока не могу понять Spliterator и Collector интерфейсы, и в результате Stream Интерфей…
07 окт '13 в 22:05
1
ответ
Понимание последовательных и параллельных потоковых сплитераторов в Java 8 и Java 9
Вопрос о сплитераторах, на первый взгляд, не простой. В потоках, .parallel() изменяет поведение, которое обрабатывает поток Однако я ожидал, что сплитераторы, созданные из последовательных и параллельных потоков, будут одинаковыми. Например, в после…
12 окт '17 в 12:19
3
ответа
Как реализовать Spliterator для потоковой передачи чисел Фибоначчи?
Я играю с Java 8 Spliterator и создал один для потоковой передачи чисел Фибоначчи до заданного n. Так что для серии Фибоначчи 0, 1, 1, 2, 3, 5, 8, ... n fib(n) ----------- -1 0 1 0 2 1 3 1 4 2 Ниже приведена моя реализация, которая печатает кучу 1, …
14 янв '16 в 10:34
3
ответа
Неразделимые сплитераторы
Я пытаюсь понять как Spliterator работает, и как сплитераторы разработаны. Я признаю это trySplit() вероятно, один из наиболее важных методов Spliterator, но когда я вижу какой-то сторонний Spliterator реализации, иногда я вижу, что их сплитераторы …
05 мар '15 в 02:45
3
ответа
Какой будет хороший сценарий использования Spliterator в Java 8?
Какой будет хороший сценарий использования для Spliterator класс в Java 8?
09 июл '14 в 18:26
2
ответа
Как я могу создать универсальный пейджинговый сплитератор?
Я хотел бы иметь возможность обрабатывать чтение потока Java из источника, который должен быть доступен на страницах. В качестве первого подхода я реализовал итератор подкачки, который просто запрашивал страницы, когда на текущей странице заканчивал…
30 июн '16 в 16:05
2
ответа
Spliterator Java 8 - пользовательская реализация
Я изучаю эту функцию Java 8, и мне действительно трудно понять Spliterator интерфейса trySplit() реализация метода в случае пользовательских классов для параллельной обработки сгенерированного Stream, Может кто-нибудь помочь мне с хорошим учебником …
26 окт '18 в 11:49
2
ответа
Странная реализация tryAdvance в Spliterator.OfInt
Как это работает? Как может Consumer<? super Integer> быть брошенным на IntConsumer?? default boolean tryAdvance(Consumer<? super Integer> action) { if (action instanceof IntConsumer) { return tryAdvance((IntConsumer) action); } else { i…
20 июн '15 в 10:23
1
ответ
Spliterator Java 8
У меня есть число от 1 до 10000, хранящихся в массиве long, Последовательное добавление их даст 50,005,000.Я написал Spliterator, где, если размер массива превышает 1000, он будет разделен на другой массив. Вот мой код Но когда я запускаю его, резул…
22 июл '15 в 13:23
3
ответа
Параллельный поток вызывает Spliterator больше раз, чем его предел
Я недавно обнаружил ошибку, в которой StreamSupport.intStream(/* a Spliterator.ofInt */, true) .limit(20) вызывал Spliterator.ofInt.tryAdvance более 20 раз. Когда я изменил это на StreamSupport.intStream(/* a Spliterator.ofInt */, true) .sequential(…
03 окт '17 в 01:10
2
ответа
Разница между Итератором и Сплитератором в Java8
Я узнал, изучая это Parallelism это главное преимущество Spliterator, Это может быть основной вопрос, но может ли кто-нибудь объяснить мне основные различия между Iterator а также Spliterator и привести несколько примеров?
21 июл '18 в 07:25
3
ответа
Stream.spliterator() закрывает поток?
Ли stream.spliterator() неявно закрывает streamили есть необходимость явно закрыть его потом? Stream<String> stream = Stream.of("a", "b", "c"); Spliterator<T> spliterator = stream.spliterator(); // Some low lever operation with the split…
11 окт '17 в 12:59
1
ответ
Есть ли какая-либо опасность в выполнении действия.accept() более чем одним элементом реализации Spliterator.tryAdance()?
Javadoc of Spliterator упоминает, что: Spliterator может проходить элементы по отдельности (tryAdvance()) или последовательно навалом (forEachRemaining()). Затем мы идем в Javadoc tryAdvance() что говорит о том, что: Если оставшийся элемент существу…
28 апр '16 в 17:34
2
ответа
Невозможно перебрать поток, созданный (второй раз) с помощью Steam.spliterator на Iterable
Я не могу перебрать (второй раз) поток, созданный с помощью Steam.spliterator. Я не мог найти документацию о том же. Вот что я делаю: Я получил Iterable как аргумент funciton, и я повторяю это через поток, как следующий код: StreamSupport.stream(val…
06 май '16 в 09:01
2
ответа
Spliterator для неизменного связанного списка
Это классическая реализация неизменяемого связанного списка: public abstract class List<A> implements Iterable<A> { private static final List NIL = new Nil(); public abstract A head(); public abstract List<A> tail(); public List<…
17 авг '15 в 07:28
2
ответа
Поток суперклассов Java 8, родительские файлы, родительские компоненты, связанный список и т. Д.
Я хотел бы преобразовать следующее for оператор в поток Java 8 (т.е. Stream<Class<?>>). Идеальное решение было бы достаточно простым, чтобы я мог легко адаптировать его для различных ситуаций обхода связанного списка (например, File.getP…
22 янв '16 в 22:03
3
ответа
Зачем перегружать метод varargs () в интерфейсе Java Stream?
Интерфейс Stream имеет две перегрузки для метода of(), Одним из них является метод переменной-арности, в то время как другой принимает один аргумент. Является ли метод с одним аргументом оптимизацией производительности по сравнению с передачей одног…
04 мар '16 в 17:24