FastElementSequence
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Urutan mendaur ulang instance NdArray
yang sama saat melakukan iterasi elemen-elemennya
Metode Warisan
Dari kelas java.lang.Object boolean | sama dengan (Objek arg0) |
Kelas terakhir<?> | dapatkan Kelas () |
ke dalam | Kode hash () |
kekosongan terakhir | beri tahu () |
kekosongan terakhir | beri tahuSemua () |
Rangkaian | keString () |
kekosongan terakhir | tunggu (arg0 panjang, int arg1) |
kekosongan terakhir | tunggu (argumen panjang0) |
kekosongan terakhir | Tunggu () |
Dari antarmuka java.lang.Iterable kekosongan abstrak | forEach (Konsumen<? super T> arg0) |
abstrak Iterator<U memperluas NdArray <T>> | pengulangan () |
abstrak Spliterator<U memperluas NdArray <T>> | pemisah () |
Metode Publik
Mengembalikan setiap elemen sebagai irisan baru.
Tidak seperti koleksi Java konvensional, elemen NdArraySequence
bersifat sementara, yaitu instance NdArray
baru dialokasikan untuk setiap iterasi. Untuk meningkatkan performa, instance yang sama dapat didaur ulang untuk melihat semua elemen urutan ini, menggunakan DataBufferWindow
.
Namun dalam beberapa kasus, mungkin lebih baik untuk menonaktifkan optimasi tersebut untuk memastikan bahwa setiap elemen yang dikembalikan adalah potongan baru dari array asli. Misalnya, jika satu atau lebih elemen yang dikunjungi harus berada di luar cakupan iterasi urutan, asSlices()
memastikan bahwa semua elemen yang dikembalikan oleh urutan tersebut adalah instance unik.
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
Kembali
- urutan yang mengembalikan setiap elemen yang diulang sebagai irisan baru
public void forEachIndexed (BiConsumer<long[], U> konsumen)
Iterator publik<U> iterator ()
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-25 UTC.
[null,null,["Terakhir diperbarui pada 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"]]