NdArraySequence

อินเทอร์เฟซสาธารณะ NdArraySequence
คลาสย่อยทางอ้อมที่รู้จัก

ลำดับขององค์ประกอบของอาร์เรย์ 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 ()

ส่งกลับแต่ละองค์ประกอบเป็นชิ้นใหม่

แตกต่างจากคอลเลกชัน 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)

เยี่ยมชมแต่ละองค์ประกอบของการวนซ้ำนี้และพิกัดที่เกี่ยวข้อง

สิ่งสำคัญ: วิธีการผู้บริโภคไม่ควรเก็บการอ้างอิงถึงพิกัด เนื่องจากพิกัดเหล่านั้นอาจไม่แน่นอนและนำมาใช้ซ้ำในระหว่างการวนซ้ำเพื่อปรับปรุงประสิทธิภาพ

พารามิเตอร์
ผู้บริโภค วิธีการเรียกใช้แต่ละองค์ประกอบ