SlicingElementSequence

publiczna klasa końcowa SlicingElementSequence

Sekwencja tworząca nową instancję NdArray (wycinek) dla każdego elementu iteracji

Konstruktorzy publiczni

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

Metody publiczne

Sekwencja NdArray <U>
jako plastry ()
Zwraca każdy element jako nowy plasterek.
próżnia
forEachIndexed (BiConsumer<long[], U> konsument)
Iterator<U>

Metody dziedziczone

Konstruktorzy publiczni

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

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

Metody publiczne

public NdArraySequence <U> asSlices ()

Zwraca każdy element jako nowy plasterek.

W przeciwieństwie do konwencjonalnych kolekcji Java, elementy NdArraySequence są przejściowe, tj. dla każdej iteracji przydzielane są nowe instancje NdArray . Aby poprawić wydajność, tę samą instancję można odtworzyć w celu wyświetlenia wszystkich elementów tej sekwencji przy użyciu DataBufferWindow .

Jednak w niektórych przypadkach lepszym rozwiązaniem może być wyłączenie takich optymalizacji, aby mieć pewność, że każdy zwrócony element będzie nowym wycinkiem oryginalnej tablicy. Na przykład, jeśli jeden lub więcej odwiedzonych elementów musi wykraczać poza zakres iteracji sekwencji, asSlices() upewnia się, że wszystkie elementy zwrócone przez sekwencję są unikalnymi instancjami.

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
 

Powroty
  • sekwencja zwracająca każdy element iterowany jako nowy wycinek

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

publiczny Iterator<U> iterator ()