web-dev-qa-db-fra.com

Comment remplacer la valeur existante de l'élément ArrayList dans Java

Je suis encore assez nouveau en programmation Java et j'essaye de mettre à jour une valeur existante d'un ArrayList en utilisant ce code:

public static void main(String[] args) {

    List<String> list = new ArrayList<String>();

    list.add( "Zero" );
    list.add( "One" );
    list.add( "Two" );
    list.add( "Three" );

    list.add( 2, "New" ); // add at 2nd index

    System.out.println(list);
}

Je veux imprimer New au lieu de Two mais j'ai [Zero, One, New, Two, Three] comme résultat et j'ai toujours Two. Je veux imprimer [Zero, One, New, Three]. Comment puis-je faire ceci? Merci.

110
Kani

Utilisez la méthode set pour remplacer l'ancienne valeur par une nouvelle.

list.set( 2, "New" );
239
Bill the Lizard

Utilisez ArrayList.set

_list.set(2, "New");
_
17
wonce

Si vous ne connaissez pas la position à remplacer, utilisez list iterator pour rechercher et remplacer l'élément ListIterator.set (E e)

ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
     String next = iterator.next();
     if (next.equals("Two")) {
         //Replace element
         iterator.set("New");
     }
 }
16
Sivabalan

Tu dois utiliser

list.remove(indexYouWantToReplace);

première.

Vos éléments vont devenir comme ça. [zero, one, three]

puis ajoutez ceci

list.add(indexYouWantedToReplace, newElement)

Vos éléments vont devenir comme ça. [zero, one, new, three]

1
Thwin Htoo Aung