Program Club

스칼라에서 두 배열을 어떻게 비교합니까?

proclub 2020. 11. 12. 20:29
반응형

스칼라에서 두 배열을 어떻게 비교합니까?


val a: Array[Int] = Array(1,2,4,5)
val b: Array[Int] = Array(1,2,4,5)
a==b // false

두 배열 (또는 시퀀스)이 동일한 지 확인하는 패턴 일치 방법이 있습니까?


마지막 줄을 다음으로 변경해야합니다.

a.deep == b.deep

배열의 깊은 비교를 수행합니다.


에서 스칼라 프로그래밍 :

Array(1,2,4,5).sameElements(Array(1,2,4,5))

  a.corresponds(b){_ == _}

Scaladoc : true두 시퀀스들이 동일한 길이를 가지고있는 경우 p(x, y)true모든 상응하는 요소 xthis래핑 어레이 ythat달리false


최상의 성능을 위해 다음을 사용해야합니다.

java.util.Arrays.equals(a, b)

이것은 매우 빠르며 추가 개체 할당이 필요하지 않습니다. Array[T]스칼라 Object[]에서는 자바 와 동일 합니다. Intjava 와 같은 원시 값에 대한 동일한 이야기 int.

참고 URL : https://stackoverflow.com/questions/5393243/how-do-i-compare-two-arrays-in-scala

반응형