Comment remplacer la valeur existante de L'élément ArrayList en java [dupliquer]
cette question a déjà une réponse ici:
- comment mettre à jour l'élément à une certaine position dans un ArrayList? [duplicate] 5 réponses
je suis encore tout à fait nouveau à la programmation java et j'essaie de mettre à jour une valeur existante de la liste des tableaux 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 eu [Zero, One, New, Two, Three]
comme résultat, j'ai encore"deux". Je veux imprimer [Zero, One, New, Three]
. Comment dois-je faire?
remercier.
5 réponses
utiliser la méthode set
pour remplacer l'ancienne valeur par une nouvelle.
list.set( 2, "New" );
pour remplacer l'élément existant à la position spécifiée dans L'Arraylist, utiliser la méthode,
set(int index, E element)
dans votre bloc de code que vous utilisez list.add( 2, "New" );
Cette méthode insère l'élément spécifié à la position spécifiée dans cette liste.
ci-dessous, il y a quelques différences entre la méthode add et la méthode set,
Le java.util.ArrayList.set(int index, E element)
remplace l'élément à la position spécifiée dans cette liste avec l'élément spécifié.ici, int l'index est l'index de l'élément à remplacer, et l'élément est l'élément à être stockée à la position spécifiée.
Si l'indice est hors de portée, alors il va jeter le IndexOutOfBoundsException exception.
Cette méthode retourne l'élément à la position spécifiée.
java.util.ArrayList.add(int index,E element)
La méthode insère l'élément spécifié E à la position spécifiée dans la présente liste.Il déplace l'élément qui se trouve actuellement à cette position (s'il y a lieu) et tout élément subséquent. à droite (en ajoutera un à leurs indices).Cette méthode ne renvoie pas de valeur.et il va également jeter L'exception IndexOutOfBoundsException si l'indice est hors de portée.
si vous n'êtes pas au courant de la position à remplacer, utilisez l'itérateur de liste pour trouver et remplacer l'élément ListIterator.mis(E)
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
String next = iterator.next();
if (next.equals("Two")) {
//Replace element
iterator.set("New");
}
}
vous devez utiliser
list.remove(indexYouWantToReplace);
d'abord.
vos éléments deviendront comme ceci. [zero, one, three]
puis Ajouter
list.add(indexYouWantedToReplace, newElement)
vos éléments deviendront comme ceci. [zero, one, new, three]