एक अनुक्रम अपने तत्वों को पुनरावृत्त करते समय समान NdArray
उदाहरण को पुन: चक्रित करता है
सार्वजनिक निर्माता
FastElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx, U तत्व, DataBufferWindow <?> elementWindow) |
सार्वजनिक तरीके
NdArraySequence <यू> | स्लाइस के रूप में () प्रत्येक तत्व को एक नए स्लाइस के रूप में लौटाता है। |
खालीपन | forEachIndexed (BiConsumer<long[], U> उपभोक्ता) |
इटरेटर<यू> | पुनरावर्तक () |
विरासत में मिली विधियाँ
सार्वजनिक निर्माता
सार्वजनिक FastElementSequence ( AbstractNdArray <T, U> ndArray, int आयामIdx, U तत्व, DataBufferWindow <?> elementWindow)
सार्वजनिक तरीके
सार्वजनिक 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
रिटर्न
- एक अनुक्रम जो प्रत्येक तत्व को एक नए स्लाइस के रूप में पुनरावृत्त करके लौटाता है