salut je cherche une méthode qui inverse une Arrayliste s=[1,2,3,4,5] et voir s=[4,5,3,2,1]
merci de bien vouloir m'aider
salut je cherche une méthode qui inverse une Arrayliste s=[1,2,3,4,5] et voir s=[4,5,3,2,1]
merci de bien vouloir m'aider
Salut,Envoyé par ulysse031
il suffit de remplir une liste avec des entiers puis d'inserer les elements de cette liste dans une autre en partant de la fin.
C'est ce que fait la méthode reverse qui prend en parametre une liste puis renvoi cette liste inversée
A l'execution ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import java.util.*; public class Test{ static List<Integer> reverse(List<Integer> liste) { List<Integer> result = new ArrayList<Integer>(); for(int i=liste.size()-1; i>=0; i--) result.add(liste.get(i)); return result; } public static void main(String[] args) { List<Integer> liste = new ArrayList<Integer>(); for(int i=1; i<=5; i++) liste.add(i); List<Integer>result = reverse(liste); System.out.println(result); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java Test [5, 4, 3, 2, 1]
Ou plus simple, utiliser la méthode reverse de la classe Collections
Donc sur le même exemple, ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 import java.util.*; public class Test{ public static void main(String[] args) { List<Integer> liste = new ArrayList<Integer>(); for(int i=1; i<=5; i++) liste.add(i); Collections.reverse(liste); System.out.println(result); } }
je sais pourquoi tu veux l'inverser, mais a mon avis le plus rapide serait quand meme de la lire a l'envers
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (int i = list.size() ; 0 < i ; i--){ ?? = list.get(i); }
for(int i=list.size()-1;i>=0;i--)Envoyé par trax44
merci
L'interface List te permet de recuperer des ListIterator qui peuvent permettre de parcourir la liste dans les deux sens. Il t'es egalement possible de recuperer un interateur sur une position donnee (au hasard dans ton cas, la fin de la liste). Cela peut te permettre d'eviter de te tromper sur les indexes (mais on peut avoir parfois besoin de manipuler des indices bien sur).
Alternativement il t'est possible d'utiliser le pattern decorateur pour creer une pseudo classe de liste qui vient decorer la premiere et te permet ainsi de la parcourir en sens inverse.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager