163 votes

Comment mettre à jour l'élément à une certaine position dans une ArrayList ?

J'en ai un. ArrayList de 10 String s. Comment mettre à jour l'index 5 avec un autre String valeur ?

8 votes

Question très courante pour les personnes novices en matière de Java ArrayList<> bibliothèque. L'existence de la set(pos, val) n'est pas intuitive et ne correspond pas aux autres paradigmes de Java.

0 votes

Lorsque vous utilisez la classe de données en kotlin, comme suit : val modelData = ModelData() listData[index] = modelData

329voto

HaskellElephant Points 4985

Soit arrList être le ArrayList y newValue le nouveau String alors faites-le :

arrList.set(5, newValue);

Ceci peut être trouvé dans la référence de l'api java aquí .

35voto

Jigar Joshi Points 116533
list.set(5,"newString");  

0 votes

Je pense que vous voulez dire l'indice 5 car la liste de tableaux n'a que 10 éléments et cela exploserait ;)

0 votes

@Peter oh oui, échangé 5 et 10 :p

15voto

Ramz Points 370
 arrList.set(5,newValue);

et si vous voulez le mettre à jour, ajoutez aussi cette ligne

 youradapater.NotifyDataSetChanged();

4voto

 import java.util.ArrayList;
 import java.util.Iterator;

 public class javaClass {

public static void main(String args[]) {

    ArrayList<String> alstr = new ArrayList<>();
    alstr.add("irfan");
    alstr.add("yogesh");
    alstr.add("kapil");
    alstr.add("rajoria");

    for(String str : alstr) {
        System.out.println(str);
    }
    // update value here
    alstr.set(3, "Ramveer");
    System.out.println("with Iterator");
    Iterator<String>  itr = alstr.iterator();

    while (itr.hasNext()) {
        Object obj = itr.next();
        System.out.println(obj);

    }
}}

1voto

Andy Points 169

ArrayList.set(location,newValue) ; location= où vous voulez insérer, newValue= le nouvel élément que vous insérez.

La notification est facultative, elle dépend des conditions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X