SlicingElementSequence

כיתת גמר ציבורית SlicingElementSequence

רצף היוצר מופע NdArray חדש (פרוסה) עבור כל רכיב של איטרציה

בונים ציבוריים

SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx)
SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, DimensionalSpace elementDimensions)

שיטות ציבוריות

NdArraySequence <U>
asSlices ()
מחזיר כל רכיב כפרוסה חדשה.
בָּטֵל
forEachIndexed (BiConsumer<long[], U> צרכן)
איטרטור<U>

שיטות בירושה

בונים ציבוריים

public SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx)

public SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int dimensionIdx, DimensionalSpace elementDimensions)

שיטות ציבוריות

public NdArraySequence <U> 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
 

מחזיר
  • רצף שמחזיר כל רכיב חוזר כפרוסה חדשה

Void public forEachIndexed (BiConsumer<long[], U> צרכן)

Iterator<U> איטרטור ציבורי ()