Arrayliste von hinten nach vorne ausgeben

Diskutiere Arrayliste von hinten nach vorne ausgeben im Java Basics - Anfänger-Themen Bereich.
L

Loddakwin

Hi,

ich versuche gerade eine Arraylist von hinten nach vorne auszugeben, aber mir ist nicht klar wie ich das machen kann.
Beispiel:
Elemente in der Arraylist [1, 2, 3, 4]
Ausgabe: 4, 3, 2, 1

Mein Code:
Code:
public String toString () {
        ListIterator<E> iter = list.listIterator(list.size());
        
        String s;
        while (iter.hasPrevious()) {
             s = iter.previous();
        }
        
        return s;
        
    }
In der list sind die Elemente, wobei das eine generische Arraylist ist.

LG
 
Robat

Robat

Momentan überschreibst du s in jeder Iteration. Du willst iter.previous() aber an s anhängen.
 
L

Loddakwin

Ja er lässt mich das sowieso nicht machen weil "cannot convert from E to String" :D
 
Robat

Robat

Ah ganz übersehen. Du musst schon einen entsprechenden generischen Typ angeben. E mit dem Typ ersetzen, welche die Elemente in der Liste haben
Java:
List<String> arrList = new ArrayList<>();
arrList.add("...");
...
ListIterator<String> iterator = arrlist.listIterator();
...
 
L

Loddakwin

Geht nicht sowas in der Art wie Collections.sort(Arraylist<E>)?
 
L

Loddakwin

E sollte ja erhalten bleiben damit alle Typen die selbe Methode nutzen können.
 
L

Loddakwin

Ich hab das nun so gelöst.
Code:
int listSize = list.size() - 1;
        String s = "[";
        
        while(listSize >= 0) {
            s += list.get(listSize);
            if(listSize != 0) s += ", ";
            listSize--;
        }
        
        return s + "]";
 
H

httpdigest

Könntest auch java.util.Collections.reverse() nehmen:
Java:
List<?> reversed = new ArrayList<>(list);
Collections.reverse(reversed);
return reversed.toString();
 
mihe7

mihe7

Wobei hierfür der StringJoiner ja geradezu prädestiniert ist:
Java:
StringJoiner joiner = new StringJoiner(", ", "[", "]");
for (int i = list.size() - 1; i >= 0; i--) {
    joiner.add(list.get(i));
}
return joiner.toString();

Möglicherweise wurden von den Betreibern des Forums ungekennzeichnete Werbetexte in meinen Beitrag eingefügt, die nicht als solche erkennbar sind. Das können beispielsweise Kursempfehlungen sein. Ich distanziere mich davon und empfehle, solchen Links nicht zu folgen.
 
Thema: 

Arrayliste von hinten nach vorne ausgeben

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben