SlicingElementSequence

classe finale pubblica SlicingElementSequence

Una sequenza che crea una nuova istanza NdArray (sezione) per ogni elemento di un'iterazione

Costruttori pubblici

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

Metodi pubblici

NdArraySequenza <U>
comeSlice ()
Restituisce ogni elemento come una nuova sezione.
vuoto
forEachIndexed (BiConsumer<long[], U> consumatore)
Iteratore<U>

Metodi ereditati

Costruttori pubblici

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

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

Metodi pubblici

public NdArraySequence <U> asSlices ()

Restituisce ogni elemento come una nuova sezione.

A differenza delle raccolte Java convenzionali, gli elementi di una NdArraySequence sono transitori, ovvero vengono allocate nuove istanze NdArray per ogni iterazione. Per migliorare le prestazioni, la stessa istanza può essere riciclata per visualizzare tutti gli elementi di questa sequenza, utilizzando un DataBufferWindow .

In alcuni casi, tuttavia, potrebbe essere preferibile disabilitare tali ottimizzazioni per garantire che ogni elemento restituito sia una nuova sezione dell'array originale. Ad esempio, se uno o più elementi visitati devono vivere oltre l'ambito dell'iterazione della sequenza, asSlices() si assicura che tutti gli elementi restituiti dalla sequenza siano istanze univoche.

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
 

Ritorni
  • una sequenza che restituisce ogni elemento ripetuto come una nuova sezione

public void forEachIndexed (BiConsumer<long[], U> consumatore)

iteratore pubblico<U> iteratore ()