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> | yineleyici () |
Kalıtsal Yöntemler
Kamu İnşaatçıları
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