SingleElementSequence

publiczna klasa końcowa SingleElementSequence

Sekwencja jednego pojedynczego elementu

Konstruktorzy publiczni

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 SingleElementSequence ( AbstractNdArray <T, U> ndArray)

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
 

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

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

publiczny Iterator<U> iterator ()