В реализации API Java Stream они используют структуру данных, которую они называют SpinedBuffer, в Java Doc они описывают ее следующим образом:
Один или более массивов используются для хранения элементов. Использование нескольких массивов имеет лучшие характеристики производительности, чем одиночный массив, используемый {@link ArrayList}, поскольку, когда емкость списка необходимо
увеличить, копирование элементов не требуется. Это
обычно полезно в случае, когда результаты будут просматриваться
небольшое количество раз
Я хочу знать:
[*]Как эта структура данных использует несколько массивов для повышения производительности
[*] Существует еще одна концепция, которая называется чанком в реализации этой структуры данных. Что такое чанк и как его используют для реализации этой структуры данных
< /ол>
Подробнее здесь: https://stackoverflow.com/questions/628 ... es-it-work