스칼라에서 요소의 배열 크기 찾기

Suraj P 2023년1월30일
  1. Scala의 lengthsize 연산자
  2. Scala에서 배열 내부 요소의 크기 가져오기
스칼라에서 요소의 배열 크기 찾기

이 기사에서는 배열에서 요소의 크기를 찾는 방법에 대해 설명합니다. 먼저 배열의 크기를 얻은 다음 해당 개념을 확장하여 배열 내부에 있는 요소의 크기를 가져오는 방법을 이해하겠습니다.

Scala의 lengthsize 연산자

  1. length 연산자

통사론:

array_name.length

Scala의 length 연산자를 사용하여 Scala에서 배열의 길이를 계산할 수 있습니다. 배열의 요소 수를 반환합니다.

더 잘 이해하기 위해 예를 들어 보겠습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {


       val myArr = Array("a", "b", Array(1,2,3,4,5,6), "c")
       println(myArr.length)


    }
}

출력:

4

4개의 요소를 포함하고 하나의 요소는 배열인 myArr 배열을 선언했습니다. 그런 다음 length 연산자를 사용하여 배열의 길이를 가져왔습니다.

  1. size 연산자

배열의 size 속성을 사용하여 크기를 얻을 수 있습니다. 배열에 포함된 요소의 수를 반환합니다.

배열의 length 속성과 매우 유사합니다.

통사론:

array_name.size

더 잘 이해하기 위해 예를 들어 보겠습니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

    val myArr1 = Array(3, 2, 5, 7)
    val fruits = Array("Apple", "Orange",Array("watermelon","tomato"))
    val rate : Array[Double] = Array(4.6, 7.8, 9.5, 4.5)

    println(myArr1.size)
    println(fruits.size)
    println(rate.size)

    }
}

출력:

4
3
4

위의 코드에서는 일부 요소가 포함된 세 개의 배열을 선언했으며 size 연산자를 사용하여 각각의 크기를 가져왔습니다.

Scala에서 배열 내부 요소의 크기 가져오기

다른 요소의 배열을 생성할 때 java.io.Serializable로 생성됩니다.

예시:

myArr = Array("a", "b" , Array(11,22,33), "c")

이제 myArr의 두 번째 요소인 Array(11,22,33)를 참조하면 해당 참조는 Serializable이 되며 length 또는 size가 없습니다. 그리고 그것들을 사용하려고 하면 오류가 발생합니다.

예제 코드:

object MyClass {

    def main(args: Array[String]) {


       val myArr = Array("a", "b", Array(11,22,33), "c")
       println(myArr(2).size)


    }
}

출력: 오류가 발생하는 것을 볼 수 있습니다.

error: value size is not a member of java.io.Serializable
       println(myArr(2).size)

이 문제를 해결하려면 asInstanceOf를 사용하여 배열의 두 번째 요소를 명시적으로 유형 변환해야 합니다.

예제 코드 1:

object MyClass {

    def main(args: Array[String]) {


       val myArr = Array("a", "b", Array(11,22,33), "c")

      if (myArr(2).isInstanceOf[Array[Int]])
        println(myArr(2).asInstanceOf[Array[Int]].size)


    }
}

출력: myArr 배열의 두 번째 요소 크기를 알 수 있습니다.

3

위의 코드에서 if 조건을 사용하여 먼저 배열의 두 번째 요소의 유형과 인스턴스를 확인한 다음 asInstanceOf를 사용하여 유형 변환한 다음 size 연산자를 사용하여 크기를 가져옵니다. .

예제 코드 2:

object MyClass {

    def main(args: Array[String]) {


       val myArr = Array("a", List("tony","stark","hulk","iron man"), "c")

      if (myArr(1).isInstanceOf[List[String]])
        println(myArr(1).asInstanceOf[List[String]].size)


    }
}

출력:

4
작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

관련 문장 - Scala Array