NdArraySequence

الواجهة العامة NdArraySequence
الفئات الفرعية غير المباشرة المعروفة

تسلسل عناصر مصفوفة ذات أبعاد N.

يتم استخدام NdArraySequence لاجتياز NdArray في بعد معين وزيارة كل عنصر من عناصره. على سبيل المثال، في حالة وجود مصفوفة nxm على المحاور [x, y] ، يتم تكرار العناصر بالترتيب التالي:

س 0 ص 0 , س 0 ص 1 , ..., س 0 ص م-1 , س 1 ذ 0 , س 1 ذ 1 , ..., س ن-1 ص م-1

الأساليب العامة

مجردة NdArraySequence <T>
كشرائح ()
إرجاع كل عنصر كشريحة جديدة.
الفراغ المجرد
forEachIndexed (BiConsumer<long[], T> المستهلك)
قم بزيارة كل عنصر من عناصر هذا التكرار والإحداثيات الخاصة بكل منها.

الطرق الموروثة

الأساليب العامة

الملخص العام NdArraySequence <T> asSlices ()

إرجاع كل عنصر كشريحة جديدة.

على عكس مجموعات Java التقليدية، تكون عناصر 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
 

المرتجعات
  • تسلسل يُرجع كل عنصر تم تكراره كشريحة جديدة
انظر أيضا

الفراغ الملخص العام forEachIndexed (BiConsumer<long[], T> Consumer)

قم بزيارة كل عنصر من عناصر هذا التكرار والإحداثيات الخاصة بكل منها.

هام: يجب ألا تحتفظ طريقة المستهلك بمرجع إلى الإحداثيات لأنها قد تكون قابلة للتغيير وإعادة استخدامها أثناء التكرار لتحسين الأداء.

حدود
مستهلك طريقة الاستدعاء لكل عنصر