SlicingElementSequence

публичный финальный класс SlicingElementSequence

Последовательность, создающая новый экземпляр (срез) NdArray для каждого элемента итерации.

Публичные конструкторы

SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int DimensionIdx)
SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int DimensionIdx, DimensionalSpace elementDimensions)

Публичные методы

НдАррайСекуенс <U>
asSlices ()
Возвращает каждый элемент как новый срез.
пустота
forEachIndexed (BiConsumer<long[], U> потребитель)
Итератор<U>

Унаследованные методы

Публичные конструкторы

public SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int DimensionIdx)

public SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int DimensionIdx, DimensionalSpace elementDimensions)

Публичные методы

public NdArraySequence <U> asSlices ()

Возвращает каждый элемент как новый срез.

В отличие от обычных коллекций Java, элементы NdArraySequence являются временными, т. е. для каждой итерации выделяются новые экземпляры NdArray . Чтобы повысить производительность, один и тот же экземпляр можно повторно использовать для просмотра всех элементов этой последовательности с помощью DataBufferWindow .

Однако в некоторых случаях может быть предпочтительнее отключить такую ​​оптимизацию, чтобы гарантировать, что каждый возвращаемый элемент представляет собой новый фрагмент исходного массива. Например, если один или несколько посещенных элементов должны находиться за пределами итерации последовательности, asSlices() гарантирует, что все элементы, возвращаемые последовательностью, являются уникальными экземплярами.

final List<IntNdArray> vectors = new ArrayList<>();
     IntNdArray matrix = NdArrays.ofInts(Shape.of(6, 6));
     ndArray.elements(0).forEach(e -> vectors::add);  // Not safe, as `e` might always be the same recycled instance
     ndArray.elements(0).asSlices().forEach(e -> vectors::add);  // Safe, each `e` is a distinct NdArray instance
 

Возврат
  • последовательность, которая возвращает каждый повторяемый элемент как новый срез

public void forEachIndexed (BiConsumer<long[], U> потребитель)

общедоступный итератор Iterator <U> ()