SlicingElementSequence

کلاس نهایی عمومی SlicingElementSequence

دنباله ای که یک نمونه 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)

عمومی 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
 

برمی گرداند
  • دنباله ای که هر عنصر تکرار شده را به عنوان یک برش جدید برمی گرداند

خالی عمومی برای هر فهرست شده (BiConsumer<long[]، U> مصرف کننده)

تکرار کننده عمومی<U> تکرار کننده ()