Comment créer un 2darray dans kotlin des objets? [dupliquer]

0

La question

Je suis vraiment choqué comment il est difficile de trouver une bonne explication sur la façon de créer un tableau 2d dans Kotlin pour un objet.

Ce sont mes tentatives de ce que j'ai trouvé n'est ni ici, sur la pile et en ligne ni le travail, pourquoi? comment puis-je créer un tableau 2d d'objets qui ne sont pas intégrés Kotlin!!!

var matrix : Array<Array<myObject?>> = null

//var arr2D = Array(10) { Array(10) { myObject(this) } }

for (i in 0 until 9) {
        for (j in 0 until 9) {
            matrix[i][j] = myObject(this)
        }
    }

Il dit: "nul ne peut être une valeur non-nulle de type" donc je suppose que je dois utiliser un arrayofnulls(), mais ne trouvez pas une source quelqu'un peut m'aider ou me donner une source?

kotlin
2021-11-24 01:01:23
1

La meilleure réponse

0

C'est une façon de créer un Tableau 2D dans Kotlin avec un utilisateur a fait l'objet. ArrayofNulls vous permet de définir tous les index dans le tableau de la valeur null et puis il suffit de l'initialiser avec une boucle for!

    val matrix = Array(10) {
        arrayOfNulls<myObject?>(
            10
        )
    }
2021-11-24 01:23:23

Devinez quoi, vous n'avez même pas besoin d'une boucle for, si vous allez pour initialiser le tableau, il suffit d'écrire val matrix : Array<Array<MyObject>> = Array(10){ Array(10){ MyObject() } } . Dans le cas de l'initialisation des éléments dépend des indices de tableau, vous pouvez écrire val matrix : Array<Array<MyObject>> = Array(10){ i -> Array(10){ j -> MyObject(i,j) } }
Ricky Mo

Merci, je suis en droit de penser que cela va créer une matrice 10x10?
francisRH

@francisRH Bien, oui et non. Kotlin n'a pas de tableaux multidimensionnels ou des matrices. Ce code crée un tableau de 10 tableaux et de chaque intérieur matrice a de taille 10. Donc oui, c'est semblable à la matrice 10x10, mais parlant justement ce n'est pas un tableau 2d, mais tableau de tableaux.
broot

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................