Pratique

fun main() {

    /**************************
     *
     *  Liste
     *  HashMap
     *  HashSet
     *
     *************************/

    var uneVariable = 0 // Var -> variable : mutable
    val uneValeur: Int // Val -> valeur : immutable

    /*******************************
     *  Liste Immutable
     *******************************/

    val listeImmutable: List<Int> = listOf(1, 2, 3) //Valeurs non modifiables

    //Afficher toutes les valeurs d'une liste
    println(listeImmutable)

    //Afficher la valeur d'un index d'une liste
    println(listeImmutable.get(0))

    //Afficher la premiere valeur d'une liste
    println(listeImmutable.first())

    //Afficher la derniere valeur d'une liste
    println(listeImmutable.last())

    //Afficher si une liste est vide ou non
    listeImmutable.isEmpty()

    /*******************************
     *  Liste Mutable
     *******************************/

    var listMutable: MutableList<Int> = mutableListOf(1, 2, 3) //Valeurs modifiables

    //Afficher toutes les valeurs d'une liste
    println(listMutable)

    //Afficher la valeur d'un index d'une liste
    println(listMutable.get(0))

    //Afficher la premiere valeur d'une liste
    println(listMutable.first())

    //Afficher la derniere valeur d'une liste
    println(listMutable.last())

    //Ajouter une valeur qui se placera à la fin
    listMutable.add(4)

    //Supprimer une valeur à un index donné
    listMutable.removeAt(1)

    //Ajouter une valeur à un index donné, décalant tout les suivants
    //listMutable.set(2,3)
    //listMutable[2] = 3

    //Vider une liste
    //listMutable.clear()

    //Melange aléatoirement l'ordre des valeurs
    listMutable.shuffle()

    //Affiche la moyenne des valeurs
    listMutable.average()


    /*****************************************
     * Une liste en informatique commence avec un index à 0 et non 1
     * Il faudra donc prendre en compte cette particularité lors d'une
     * itération de cette liste
     *****************************************/


    val uneListe: MutableList<Int> = mutableListOf(1, 2, 3) //Valeurs non modifiables
    println(uneListe.size)

    //Erreur
    /*
    for(i in 0..uneListe.size) {
        println("Index $i la valeur est "+uneListe[i])
    }
    */

    //Fonctionne
    for (i in 0..uneListe.size - 1) {
        println("Index $i la valeur est " + uneListe[i])
    }

    //Peut s'écrire aussi comme ça :
    for (i in 0 until uneListe.size) {
        println("Index $i la valeur est " + uneListe[i])
    }

    //Fonctionne
    for (i in 0..uneListe.size - 1) {
        println("Index $i la valeur est " + uneListe[i])
        uneListe[i] = 2
        println("Index $i la valeur est maintenant " + uneListe[i])

    }

    /*****************************************
     *  HashSet = une liste anti doublon
     *****************************************/

    var listeAntiDoublon: HashSet<Int> = hashSetOf(1, 2, 3) //Valeurs modifiables
    listeAntiDoublon.add(1) //ne marchera pas car valeur déjà présente


    /*********************************************
     *  HashMap = des paires clé/valeur
     *********************************************/

    val maHashMap = hashMapOf("login" to "jean1234", "password" to "sdfhjdkf", "number" to 5555454)
    println(maHashMap["login"])
    println(maHashMap["password"])
    println(maHashMap["number"])

}

Last updated