Trouver la taille du tableau d'un élément dans Scala

Suraj P 30 janvier 2023
  1. Opérateur length et size en Scala
  2. Obtenir la taille de l’élément à l’intérieur d’un tableau dans Scala
Trouver la taille du tableau d'un élément dans Scala

Cet article explique comment trouver la taille d’un élément dans un tableau. Tout d’abord, comprenons comment obtenir la taille du tableau, puis étendons ce concept pour obtenir la taille des éléments présents à l’intérieur du tableau.

Opérateur length et size en Scala

  1. Opérateur length

Syntaxe:

array_name.length

Nous pouvons utiliser l’opérateur length de Scala pour calculer la longueur du tableau dans Scala. Il renvoie le nombre d’éléments dans un tableau.

Prenons un exemple pour mieux comprendre.

Exemple de code :

object MyClass {

    def main(args: Array[String]) {


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


    }
}

Production:

4

Nous avons déclaré un tableau myArr, qui contient 4 éléments et un élément est un tableau. Ensuite, nous avons utilisé l’opérateur length pour obtenir la longueur du tableau.

  1. opérateur size

On peut utiliser la propriété size du tableau pour obtenir sa taille. Il renvoie le nombre d’éléments que contient le tableau.

Elle est assez similaire à la propriété length d’un tableau.

Syntaxe:

array_name.size

Voyons un exemple pour mieux comprendre.

Exemple de code :

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)

    }
}

Production:

4
3
4

Dans le code ci-dessus, nous avons déclaré trois tableaux avec certains éléments, et nous avons utilisé l’opérateur size pour obtenir leurs tailles respectives.

Obtenir la taille de l’élément à l’intérieur d’un tableau dans Scala

Lorsque nous créons un tableau d’éléments différents, il est créé avec java.io.Serializable.

Exemple:

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

Maintenant, si nous nous référons au 2ème élément de myArr, Array(11,22,33), sa référence sera Serializable, et il n’y a pas de length ou de size pour cela. Et si nous essayons de les utiliser, nous obtiendrons l’erreur.

Exemple de code :

object MyClass {

    def main(args: Array[String]) {


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


    }
}

Sortie : nous pouvons voir que nous obtenons l’erreur.

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

Pour résoudre ce problème, nous devons transtyper explicitement le deuxième élément du tableau en utilisant asInstanceOf.

Exemple de code un :

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)


    }
}

Sortie : Nous pouvons voir que nous obtenons la taille du second élément du tableau myArr.

3

Dans le code ci-dessus, en utilisant la condition if, nous vérifions d’abord le type et l’instance du 2e élément du tableau, puis nous utilisons asInstanceOf pour transtyper, puis utilisons l’opérateur size pour obtenir sa taille.

Exemple de code deux :

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)


    }
}

Production:

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

Article connexe - Scala Array