NdArraySequence

공개 인터페이스 NdArraySequence
알려진 간접 하위 클래스

N차원 배열의 요소 시퀀스입니다.

NdArraySequence 는 주어진 차원에서 NdArray 탐색하고 각 요소를 방문하는 데 사용됩니다. 예를 들어, [x, y] 축에 nxm 행렬이 있는 경우 요소는 다음 순서로 반복됩니다.

x 0 y 0 , x 0 y 1 , ..., x 0 y m-1 , x 1 y 0 , x 1 y 1 , ..., x n-1 y m-1

공개 방법

추상 NdArraySequence <T>
asSlices ()
각 요소를 새 슬라이스로 반환합니다.
추상적인 공백
forEachIndexed (BiConsumer<long[], T> 소비자)
이 반복의 각 요소와 해당 좌표를 방문하세요.

상속된 메서드

공개 방법

공개 추상 NdArraySequence <T> 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[], T> 소비자)

이 반복의 각 요소와 해당 좌표를 방문하세요.

중요: 성능 향상을 위해 반복 중에 좌표가 변경 가능하고 재사용될 수 있으므로 소비자 메서드는 좌표에 대한 참조를 유지해서는 안 됩니다.

매개변수
소비자 각 요소에 대해 호출하는 메서드