82 votes

Comment insérer un objet dans un ArrayList à une position spécifique

Supposons que j'ai un ArrayList d'objets de taille n. Maintenant, je veux insérer un autre objet à une position spécifique, disons à la position d'index k (est supérieur à 0 et inférieur à n) et je veux que d'autres objets à et après la position d'index k décalent une position d'index en avant. Existe-t-il donc un moyen de le faire directement en Java. En fait, je veux garder la liste triée tout en ajoutant un nouvel objet.

75voto

Jaldip Katre Points 321

Voici l'exemple simple de liste de tableaux pour l'insertion à un index spécifique

 ArrayList<Integer> str=new ArrayList<Integer>();
    str.add(0);
    str.add(1);
    str.add(2);
    str.add(3); 
    //Result = [0, 1, 2, 3]
    str.add(1, 11);
    str.add(2, 12);
    //Result = [0, 11, 12, 1, 2, 3]

0voto

Sergio López Points 128

En fait, la façon de le faire sur votre question spécifique est arrayList.add(1,"INSERTED ELEMENT"); où 1 est la position

0voto

Leo Droidcoder Points 5410

Vous devez gérer vous-même ArrayIndexOutOfBounds lors de l'ajout à une certaine position.

Pour plus de commodité, vous pouvez utiliser cette fonction d'extension dans Kotlin

 /**
 * Adds an [element] to index [index] or to the end of the List in case [index] is out of bounds
 */
fun <T> MutableList<T>.insert(index: Int, element: T) {
    if (index <= size) {
        add(index, element)
    } else {
        add(element)
    }
}

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