IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Kotlin Discussion :

Parcourir arraylist


Sujet :

Kotlin

  1. #1
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut Parcourir arraylist
    Bonjour
    Je vous demande de bien vouloir m'expliquer pourquoi ce code marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(i in maListe){
               str=str+i+" "
               txt.text=str
           }
    et pas celui là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i in 1.. maListe.size){
            str=str +maListe[i]+" "
     
                txt.text=str
            }
    Merci
    J'apprends la programmation pour le plaisir

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    	val maListe = 	listOf("a","b","c")
            var str =""
     
    	for(i in maListe){
               str=str+i+" "
           }
     
    	println(str)
     
    	str =""
    	for (i in 0..maListe.size-1){
                 str=str +maListe[i]+" "
            }
     
    	println(str)

    affiche:

    a b c
    a b c

  3. #3
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut
    Bonsoir
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.jonass.langues.MainActivity">
     
       <CheckBox
           android:id="@+id/rouge"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:text="@string/rouge"
           android:textSize="26dp"/>
        <CheckBox
            android:id="@+id/bleu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/bleu"
            android:textSize="26dp"/>
        <CheckBox
            android:id="@+id/vert"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/vert"
            android:textSize="26dp"/>
        <CheckBox
            android:id="@+id/jaune"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/jaune"
            android:textSize="26dp"/>
        <Button
            android:id="@+id/bouton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Choisir couleur(s)"
            android:textAllCaps="false"
            android:textSize="22dp"/>
        <TextView
            android:id="@+id/txt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/backcolor"
            android:textColor="@color/textcolor"
            android:textSize="18dp"
            android:hint="Resultat"
            android:gravity="center_horizontal"/>
    </LinearLayout>
    ce code marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    package com.example.jonass.langues
     
    import android.graphics.Color
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.view.Gravity
    import android.widget.Toast
    import kotlinx.android.synthetic.main.activity_main.*
     
    class MainActivity : AppCompatActivity() {
     
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            bouton.setOnClickListener() {
                var maListe = ArrayList<String>()
                var str = ""
                if (rouge.isChecked) {
                    maListe.add(rouge.text.toString())
                }
                if (bleu.isChecked) {
                    maListe.add(bleu.text.toString())
                }
                if (vert.isChecked) {
                    maListe.add(vert.text.toString())
                }
                if (jaune.isChecked) {
                    maListe.add(jaune.text.toString())
                }
                for (i in maListe) {
                    str = str + i + " "
                    txt.text = str
                }
                /*for (i in 1.. maListe.size){
                str=str +maListe[i]+" "
                    txt.text=str
                }*/
    }
     
        }
    }
    celui là ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    package com.example.jonass.langues
     
    import android.graphics.Color
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.view.Gravity
    import android.widget.Toast
    import kotlinx.android.synthetic.main.activity_main.*
     
    class MainActivity : AppCompatActivity() {
     
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            bouton.setOnClickListener() {
                var maListe = ArrayList<String>()
                var str = ""
                if (rouge.isChecked) {
                    maListe.add(rouge.text.toString())
                }
                if (bleu.isChecked) {
                    maListe.add(bleu.text.toString())
                }
                if (vert.isChecked) {
                    maListe.add(vert.text.toString())
                }
                if (jaune.isChecked) {
                    maListe.add(jaune.text.toString())
                }
                /*for (i in maListe) {
                    str = str + i + " "
                    txt.text = str
                }*/
                for (i in 1.. maListe.size){
                str=str +maListe[i]+" "
                    txt.text=str
                }
    }
     
        }
    }
    J'apprends la programmation pour le plaisir

  4. #4
    Membre averti
    Profil pro
    professeur des universités à la retraite
    Inscrit en
    Août 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : professeur des universités à la retraite

    Informations forums :
    Inscription : Août 2008
    Messages : 364
    Points : 439
    Points
    439
    Par défaut
    Dans une liste, les indices commencent à 0 et l'indice du dernier élément est donc non pas maListe.size mais maListe.size-1
    (une liste de 10 éléments verra ces éléments indexés de 0 à 9). D'où la réponse qui t'a été donnée plus haut
    et que tu aurais dû examiner et discuter.
    D'autre part en programmation dire "ça ne marche pas" est en général à éviter, ce n'est pas suffisant
    (il vaut mieux expliquer que tu obtiens tel message d'erreur ou que tu t'attendais à tel résultat et alors que tu as obtenu tel autre...), un peu
    comme en médecine si le patient te dit "je ne vais pas bien" c'est un peu juste pour poser un diagnostic...

  5. #5
    Membre actif Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Points : 229
    Points
    229
    Par défaut
    Bonjour
    Merci pour la réponse (aussi pour l'exemple )
    résolu
    J'apprends la programmation pour le plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcourir un ArrayList ou un Vector
    Par absot dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 11/02/2013, 18h43
  2. Arraylist d'Arraylists - comment la parcourir
    Par koktel_dfr dans le forum C#
    Réponses: 5
    Dernier message: 26/05/2008, 13h34
  3. parcourir un tableau et récupérer valeurs en ArrayList
    Par flora806 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/03/2008, 17h20
  4. parcourir ArrayList contenant des vectors
    Par imane_bennouna dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 04/08/2006, 10h56
  5. Réponses: 9
    Dernier message: 27/03/2006, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo