Urutan yang membuat instance NdArray
baru (slice) untuk setiap elemen iterasi
Konstruktor Publik
SlicingElementSequence ( AbstrakNdArray <T, U> ndArray, int dimensiIdx) | |
SlicingElementSequence ( AbstrakNdArray <T, U> ndArray, int DimensionIdx, DimensionalSpace elementDimensions) |
Metode Publik
Urutan NdArray <U> | sebagai Irisan () Mengembalikan setiap elemen sebagai irisan baru. |
ruang kosong | forEachIndexed (BiConsumer<long[], U> konsumen) |
Iterator<U> | pengulangan () |
Metode Warisan
Konstruktor Publik
SlicingElementSequence publik ( AbstrakNdArray <T, U> ndArray, int DimensionIdx, DimensionalSpace elementDimensions)
Metode Publik
publik NdArraySequence <U> sebagaiSlices ()
Mengembalikan setiap elemen sebagai irisan baru.
Tidak seperti koleksi Java konvensional, elemen NdArraySequence
bersifat sementara, yaitu instance NdArray
baru dialokasikan untuk setiap iterasi. Untuk meningkatkan performa, instance yang sama dapat didaur ulang untuk melihat semua elemen urutan ini, menggunakan DataBufferWindow
.
Namun dalam beberapa kasus, mungkin lebih baik untuk menonaktifkan optimasi tersebut untuk memastikan bahwa setiap elemen yang dikembalikan adalah potongan baru dari array asli. Misalnya, jika satu atau lebih elemen yang dikunjungi harus berada di luar cakupan iterasi urutan, asSlices()
memastikan bahwa semua elemen yang dikembalikan oleh urutan tersebut adalah instance unik.
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
Kembali
- urutan yang mengembalikan setiap elemen yang diulang sebagai irisan baru