SingleElementSequence

パブリック最終クラスSingleElementSequence

単一の要素のシーケンス

パブリックコンストラクター

パブリックメソッド

NdArraySequence <U>
asスライス()
各要素を新しいスライスとして返します。
空所
forEachIndexed (BiConsumer<long[], U> コンシューマー)
イテレータ<U>

継承されたメソッド

パブリックコンストラクター

public SingleElementSequence ( AbstractNdArray <T, U> ndArray)

パブリックメソッド

public NdArraySequence <U> asSlices ()

各要素を新しいスライスとして返します。

従来の Java コレクションとは異なり、 NdArraySequenceの要素は一時的です。つまり、新しいNdArrayインスタンスが反復ごとに割り当てられます。パフォーマンスを向上させるために、 DataBufferWindowを使用して同じインスタンスをリサイクルして、このシーケンスのすべての要素を表示できます。

ただし、場合によっては、返される各要素が元の配列の新しいスライスであることを確認するために、このような最適化を無効にした方がよい場合もあります。たとえば、訪問した 1 つ以上の要素がシーケンス反復の範囲を超えて存在する必要がある場合、 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> Consumer)

public Iterator<U> iterator ()