Finden Sie die Array-Größe eines Elements in Scala

Suraj P 30 Januar 2023
  1. length- und size-Operator in Scala
  2. Holen Sie sich die Größe des Elements in einem Array in Scala
Finden Sie die Array-Größe eines Elements in Scala

In diesem Artikel wird erläutert, wie Sie die Größe eines Elements in einem Array ermitteln. Lassen Sie uns zunächst verstehen, wie die Größe des Arrays ermittelt wird, und dann dieses Konzept erweitern, um die Größe der im Array vorhandenen Elemente zu ermitteln.

length- und size-Operator in Scala

  1. length-Operator

Syntax:

array_name.length

Wir können den Längenoperator von Scala verwenden, um die Länge des Arrays in Scala zu berechnen. Es gibt die Anzahl der Elemente in einem Array zurück.

Lassen Sie uns ein Beispiel haben, um es besser zu verstehen.

Beispielcode:

object MyClass {

    def main(args: Array[String]) {


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


    }
}

Ausgabe:

4

Wir haben ein Array myArr deklariert, das 4 Elemente enthält und ein Element ein Array ist. Dann haben wir den length-Operator verwendet, um die Länge des Arrays zu erhalten.

  1. size-Operator

Wir können die Eigenschaft size des Arrays verwenden, um seine Größe zu erhalten. Es gibt die Anzahl der Elemente zurück, die das Array enthält.

Sie ist der length-Eigenschaft eines Arrays ziemlich ähnlich.

Syntax:

array_name.size

Sehen wir uns ein Beispiel an, um es besser zu verstehen.

Beispielcode:

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)

    }
}

Ausgabe:

4
3
4

Im obigen Code haben wir drei Arrays mit einigen Elementen deklariert, und wir haben den Operator size verwendet, um ihre jeweiligen Größen zu erhalten.

Holen Sie sich die Größe des Elements in einem Array in Scala

Wenn wir ein Array aus verschiedenen Elementen erstellen, wird es mit java.io.Serializable erstellt.

Beispiel:

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

Wenn wir uns nun auf das 2. Element von myArr beziehen, Array(11,22,33), ist seine Referenz Serializable, und es gibt keine length oder size dafür. Und wenn wir versuchen, sie zu verwenden, erhalten wir den Fehler.

Beispielcode:

object MyClass {

    def main(args: Array[String]) {


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


    }
}

Ausgabe: Wir können sehen, dass wir den Fehler erhalten.

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

Um dies zu beheben, müssen wir das zweite Element des Arrays mit asInstanceOf explizit typisieren.

Beispielcode eins:

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)


    }
}

Ausgabe: Wir können sehen, dass wir die Größe des zweiten Elements des Arrays myArr erhalten.

3

Im obigen Code überprüfen wir mit der Bedingung if zuerst den Typ und die Instanz des zweiten Elements des Arrays, und dann verwenden wir asInstanceOf für die Typumwandlung und verwenden dann den Operator size, um seine Größe zu erhalten .

Beispielcode zwei:

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)


    }
}

Ausgabe:

4
Autor: 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

Verwandter Artikel - Scala Array