SlicingElementSequence

clase final pública SlicingElementSequence

Una secuencia que crea una nueva instancia NdArray (segmento) para cada elemento de una iteración

Constructores Públicos

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

Métodos públicos

NdArraySecuencia <U>
asSlices ()
Devuelve cada elemento como un nuevo segmento.
vacío
forEachIndexed (BiConsumer<long[], U> consumidor)
Iterador<U>

Métodos heredados

Constructores Públicos

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

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

Métodos públicos

pública NdArraySequence <U> asSlices ()

Devuelve cada elemento como un nuevo segmento.

A diferencia de las colecciones Java convencionales, los elementos de NdArraySequence son transitorios, es decir, se asignan nuevas instancias NdArray para cada iteración. Para mejorar el rendimiento, se puede reciclar la misma instancia para ver todos los elementos de esta secuencia, utilizando DataBufferWindow .

Sin embargo, en algunos casos, podría ser preferible deshabilitar dichas optimizaciones para garantizar que cada elemento devuelto sea una nueva porción de la matriz original. Por ejemplo, si uno o más elementos visitados deben estar más allá del alcance de la iteración de la secuencia, asSlices() se asegura de que todos los elementos devueltos por la secuencia sean instancias únicas.

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
 

Devoluciones
  • una secuencia que devuelve cada elemento iterado como un nuevo segmento

vacío público para cada índice (BiConsumer<long[], U> consumidor)

Iterador público<U> iterador ()