FastElementSequence

FastElementSequence คลาสสุดท้ายสาธารณะ

ลำดับการรีไซเคิลอินสแตนซ์ NdArray เดียวกันเมื่อวนซ้ำองค์ประกอบ

คอนสตรัคชั่นสาธารณะ

FastElementSequence ( AbstractNdArray <T, U> ndArray, int sizeIdx, องค์ประกอบ U, DataBufferWindow <?> elementWindow)

วิธีการสาธารณะ

NdArraySequence <U>
เป็นสไลซ์ ()
ส่งกลับแต่ละองค์ประกอบเป็นชิ้นใหม่
เป็นโมฆะ
forEachIndexed (ผู้บริโภค BiConsumer<long[], U>)
ตัววนซ้ำ<U>

วิธีการสืบทอด

คอนสตรัคชั่นสาธารณะ

FastElementSequence สาธารณะ ( AbstractNdArray <T, U> ndArray, int sizeIdx, องค์ประกอบ U, DataBufferWindow <?> elementWindow)

วิธีการสาธารณะ

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
 

การส่งคืน
  • ลำดับที่ส่งคืนแต่ละองค์ประกอบที่วนซ้ำเป็นชิ้นใหม่

โมฆะสาธารณะ forEachIndexed (BiConsumer<long[], U> ผู้บริโภค)

ตัววนซ้ำสาธารณะ <U> ตัววนซ้ำ ()