SingleElementSequence

공개 최종 클래스 SingleElementSequence

단일 요소의 시퀀스

공공 생성자

공개 방법

NdArray시퀀스 <U>
asSlices ()
각 요소를 새 슬라이스로 반환합니다.
무효의
forEachIndexed (BiConsumer<long[], U> 소비자)
반복자<U>

상속된 메서드

공공 생성자

공용 SingleElementSequence ( AbstractNdArray <T, U> ndArray)

공개 방법

공개 NdArraySequence <U> asSlices ()

각 요소를 새 슬라이스로 반환합니다.

기존 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
 

보고
  • 새로운 슬라이스로 반복되는 각 요소를 반환하는 시퀀스

공개 무효 forEachIndexed (BiConsumer<long[], U> 소비자)

공개 반복자<U> 반복자 ()