زیر کلاس های غیر مستقیم شناخته شده FastElementSequence <T، U گسترش NdArray <T>>، SingleElementSequence <T، U گسترش NdArray <T>>، SlicingElementSequence <T، U گسترش NdArray <T>> |
دنباله ای از عناصر یک آرایه N بعدی.
یک NdArraySequence
برای عبور از یک NdArray
در یک بعد معین و بازدید از هر یک از عناصر آن استفاده می شود. برای مثال، با توجه به یک ماتریس nxm
روی محورهای [x, y]
، عناصر به ترتیب زیر تکرار میشوند:
x 0 y 0 , x 0 y 1 , ..., x 0 y m-1 , x 1 y 0 , x 1 y 1 , ..., x n-1 y m-1
روش های عمومی
انتزاع NdArraySequence <T> | اسلایس () هر عنصر را به عنوان یک برش جدید برمی گرداند. |
خلأ انتزاعی | forEachIndexed (BiConsumer<long[], T> مصرف کننده) از هر یک از عناصر این تکرار و مختصات مربوط به آنها دیدن کنید. |
روش های ارثی
روش های عمومی
انتزاع عمومی NdArraySequence <T> 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[]، T> مصرف کننده)
از هر یک از عناصر این تکرار و مختصات مربوط به آنها دیدن کنید.
مهم: روش مصرف کننده نباید به مختصات اشاره کند زیرا ممکن است تغییرپذیر باشند و در طول تکرار برای بهبود عملکرد دوباره مورد استفاده قرار گیرند.
پارامترها
مصرف کننده | روش فراخوانی برای هر عنصر |
---|