SlicingElementSequence

genel final sınıfı SlicingElementSequence

Bir yinelemenin her öğesi için yeni bir NdArray örneği (dilim) oluşturan bir dizi

Kamu İnşaatçıları

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

Genel Yöntemler

NdArraySequence <U>
dilimler olarak ()
Her öğeyi yeni bir dilim olarak döndürür.
geçersiz
forEachIndexed (BiConsumer<long[], U> tüketicisi)
Yineleyici<U>

Kalıtsal Yöntemler

Kamu İnşaatçıları

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

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

Genel Yöntemler

public NdArraySequence <U> asSlices ()

Her öğeyi yeni bir dilim olarak döndürür.

Geleneksel Java koleksiyonlarından farklı olarak, NdArraySequence öğeleri geçicidir, yani her yineleme için yeni NdArray örnekleri tahsis edilir. Performansı artırmak için aynı örnek, DataBufferWindow kullanılarak bu dizinin tüm öğelerini görüntülemek üzere geri dönüştürülebilir.

Ancak bazı durumlarda, döndürülen her öğenin orijinal dizinin yeni bir dilimi olmasını sağlamak için bu tür optimizasyonların devre dışı bırakılması tercih edilebilir. Örneğin, ziyaret edilen bir veya daha fazla öğenin dizi yinelemesinin kapsamı dışında kalması gerekiyorsa asSlices() dizi tarafından döndürülen tüm öğelerin benzersiz örnekler olmasını sağlar.

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
 

İade
  • yeni bir dilim olarak yinelenen her öğeyi döndüren bir dizi

public void forEachIndexed (BiConsumer<long[], U> tüketicisi)

genel Yineleyici<U> yineleyici ()