FastElementSequence
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Последовательность, повторно использующая один и тот же экземпляр NdArray
при повторении его элементов.
Унаследованные методы
Из класса java.lang.Object логическое значение | равно (Объект arg0) |
последний класс<?> | получитьКласс () |
интервал | хэш-код () |
окончательная пустота | уведомить () |
окончательная пустота | уведомитьВсе () |
Нить | toString () |
окончательная пустота | подождать (длинный arg0, int arg1) |
окончательная пустота | подождите (длинный arg0) |
окончательная пустота | ждать () |
Из интерфейса java.lang.Iterable абстрактная пустота | forEach (Consumer<? super T> arg0) |
абстрактный Iterator<U расширяет NdArray <T>> | итератор () |
абстрактный Spliterator<U расширяет NdArray <T>> | сплитатор () |
Публичные методы
Возвращает каждый элемент как новый срез.
В отличие от обычных коллекций 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
Возврат
- последовательность, которая возвращает каждый повторяемый элемент как новый срез
public void forEachIndexed (BiConsumer<long[], U> потребитель)
общедоступный итератор Iterator <U> ()
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 2025-07-25 UTC."],[],[],null,["# FastElementSequence\n\npublic final class **FastElementSequence** \nA sequence recycling the same `NdArray` instance when iterating its elements \n\n### Public Constructors\n\n|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | [FastElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence#FastElementSequence(org.tensorflow.ndarray.impl.AbstractNdArray\u003cT, U\u003e, int, U, org.tensorflow.ndarray.buffer.DataBufferWindow\u003c?\u003e))([AbstractNdArray](/jvm/api_docs/java/org/tensorflow/ndarray/impl/AbstractNdArray)\\\u003cT, U\\\u003e ndArray, int dimensionIdx, U element, [DataBufferWindow](/jvm/api_docs/java/org/tensorflow/ndarray/buffer/DataBufferWindow)\\\u003c?\\\u003e elementWindow) |\n\n### Public Methods\n\n|-----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence)\\\u003cU\\\u003e | [asSlices](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence#asSlices())() Returns each element as a new slice. |\n| void | [forEachIndexed](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence#forEachIndexed(java.util.function.BiConsumer\u003clong[], U\u003e))(BiConsumer\\\u003clong\\[\\], U\\\u003e consumer) |\n| Iterator\\\u003cU\\\u003e | [iterator](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence#iterator())() |\n\n### Inherited Methods\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface [org.tensorflow.ndarray.NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence) \n\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence)\\\u003cU extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | [asSlices](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence#asSlices())() Returns each element as a new slice. |\n| abstract void | [forEachIndexed](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence#forEachIndexed(java.util.function.BiConsumer\u003clong[], T\u003e))(BiConsumer\\\u003clong\\[\\], U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e consumer) Visit each elements of this iteration and their respective coordinates. |\n\nFrom interface java.lang.Iterable \n\n|-----------------------------------------------------------------------------------------------------|-------------------------------------|\n| abstract void | forEach(Consumer\\\u003c? super T\\\u003e arg0) |\n| abstract Iterator\\\u003cU extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | iterator() |\n| abstract Spliterator\\\u003cU extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | spliterator() |\n\nPublic Constructors\n-------------------\n\n#### public\n**FastElementSequence**\n([AbstractNdArray](/jvm/api_docs/java/org/tensorflow/ndarray/impl/AbstractNdArray)\\\u003cT, U\\\u003e ndArray, int dimensionIdx, U element, [DataBufferWindow](/jvm/api_docs/java/org/tensorflow/ndarray/buffer/DataBufferWindow)\\\u003c?\\\u003e elementWindow)\n\n\u003cbr /\u003e\n\nPublic Methods\n--------------\n\n#### public [NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence)\\\u003cU\\\u003e\n**asSlices**\n()\n\nReturns each element as a new slice.\n\nUnlike conventional Java collections, elements of a `NdArraySequence` are transient, i.e. new `NdArray`\ninstances are allocated for each iteration. To improve performance, the same instance can be recycled to view\nall elements of this sequence, using a [DataBufferWindow](/jvm/api_docs/java/org/tensorflow/ndarray/buffer/DataBufferWindow).\n\nIn some cases though, it might be preferable to disable such optimizations to ensure that each element returned is a\nnew slice of the original array. For example, if one or more elements visited must live beyond the scope of the sequence\niteration, `asSlices()` makes sure that all elements returned by the sequence are unique instances.\n\n final List\u003cIntNdArray\u003e vectors = new ArrayList\u003c\u003e();\n IntNdArray matrix = NdArrays.ofInts(Shape.of(6, 6));\n ndArray.elements(0).forEach(e -\u003e vectors::add); // Not safe, as `e` might always be the same recycled instance\n ndArray.elements(0).asSlices().forEach(e -\u003e vectors::add); // Safe, each `e` is a distinct NdArray instance\n \n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n##### Returns\n\n- a sequence that returns each elements iterated as a new slice \n\n#### public void\n**forEachIndexed**\n(BiConsumer\\\u003clong\\[\\], U\\\u003e consumer)\n\n\u003cbr /\u003e\n\n#### public Iterator\\\u003cU\\\u003e\n**iterator**\n()\n\n\u003cbr /\u003e"]]