SlicingElementSequence

सार्वजनिक अंतिम वर्ग SlicingElementSequence

पुनरावृत्ति के प्रत्येक तत्व के लिए एक नया NdArray उदाहरण (स्लाइस) बनाने वाला अनुक्रम

सार्वजनिक निर्माता

SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx)
SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx, आयामीस्पेस तत्वआयाम)

सार्वजनिक तरीके

NdArraySequence <यू>
स्लाइस के रूप में ()
प्रत्येक तत्व को एक नए स्लाइस के रूप में लौटाता है।
खालीपन
forEachIndexed (BiConsumer<long[], U> उपभोक्ता)
इटरेटर<यू>

विरासत में मिली विधियाँ

सार्वजनिक निर्माता

सार्वजनिक SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx)

सार्वजनिक SlicingElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx, आयामीस्पेस तत्वआयाम)

सार्वजनिक तरीके

सार्वजनिक NdArraySequence <U> 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[], U> उपभोक्ता)

सार्वजनिक इटरेटर<यू> इटरेटर ()