FastElementSequence
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Uma sequência reciclando a mesma instância NdArray
ao iterar seus elementos
Métodos herdados
Da classe java.lang.Object booleano | é igual (objeto arg0) |
aula final<?> | getClass () |
interno | código hash () |
vazio final | notificar () |
vazio final | notificar todos () |
Corda | toString () |
vazio final | espere (long arg0, int arg1) |
vazio final | espere (arg0 longo) |
vazio final | espere () |
Da interface java.lang.Iterable vazio abstrato | forEach (Consumidor<? super T> arg0) |
iterador abstrato<U estende NdArray <T>> | iterador () |
divisor abstrato<U estende NdArray <T>> | divisor () |
Métodos Públicos
Retorna cada elemento como uma nova fatia.
Ao contrário das coleções Java convencionais, os elementos de um NdArraySequence
são transitórios, ou seja, novas instâncias NdArray
são alocadas para cada iteração. Para melhorar o desempenho, a mesma instância pode ser reciclada para visualizar todos os elementos desta sequência, usando um DataBufferWindow
.
Porém, em alguns casos, pode ser preferível desabilitar tais otimizações para garantir que cada elemento retornado seja uma nova fatia da matriz original. Por exemplo, se um ou mais elementos visitados devem estar além do escopo da iteração da sequência, asSlices()
garante que todos os elementos retornados pela sequência sejam instâncias únicas.
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
Devoluções
- uma sequência que retorna cada elemento iterado como uma nova fatia
public void forEachIndexed (BiConsumer<long[], U> consumidor)
iterador público<U> iterador ()
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-25 UTC.
[null,null,["Última atualização 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"]]