دنباله ای که یک نمونه NdArray
جدید (برش) برای هر عنصر یک تکرار ایجاد می کند
سازندگان عمومی
SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx) | |
SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, DimensionalSpace elementDimensions) |
روش های عمومی
NdArraySequence <U> | اسلایس () هر عنصر را به عنوان یک برش جدید برمی گرداند. |
باطل | forEachIndexed (BiConsumer<long[], U> مصرف کننده) |
Iterator<U> | تکرار کننده () |
روش های ارثی
سازندگان عمومی
عمومی SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, DimensionalSpace elementDimensions)
روش های عمومی
NdArraySequence عمومی <U> asSlices ()
هر عنصر را به عنوان یک برش جدید برمی گرداند.
برخلاف مجموعههای معمولی جاوا، عناصر NdArraySequence
گذرا هستند، یعنی نمونههای جدید NdArray
برای هر تکرار تخصیص داده میشوند. برای بهبود عملکرد، همان نمونه را می توان برای مشاهده تمام عناصر این دنباله، با استفاده از DataBufferWindow
بازیافت کرد.
با این حال، در برخی موارد، ممکن است ترجیح داده شود که چنین بهینهسازیهایی را غیرفعال کنید تا اطمینان حاصل شود که هر عنصری که برگردانده میشود، قطعه جدیدی از آرایه اصلی است. به عنوان مثال، اگر یک یا چند عنصر بازدید شده باید فراتر از محدوده تکرار دنباله زندگی کنند، asSlices()
مطمئن می شود که تمام عناصر بازگردانده شده توسط دنباله نمونه های منحصر به فرد هستند.
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
برمی گرداند
- دنباله ای که هر عنصر تکرار شده را به عنوان یک برش جدید برمی گرداند