Skriva generic ArrayList baklänges
Jag har en generic lista som innehåller siffrorna 1, 2, 3, 4, 5, som jag försöker skriva ut baklänges så att det istället blir 5, 4, 3, 2, 1.
Koden i min metod för att göra detta:
public static <T> List<T> reverse(final List<T> l) {
List<T> reversed = new ArrayList<T>();
for (int i = l.size() - 1; i >= 0; i--) {
reversed.add(l.get(i));
}
return reversed;
}
Jag får inget kompileringserror, men den skriver ut listan i vanlig ordning:
Regular order:
1 2 3 4 5
Reversed:
[1, 2, 3, 4, 5]
Någon som kanske kan se vad jag har missat?
Ser övergripande rimligt ut förutom kanske varför det är ett <T> först i <T>List<T> som returtyp men det kanske är en javagrej.'
Då redovisad kod inte innehåller raderna som specificerar vad som skrivs ut så är det inte möjligt att veta att du inte bara råkat skriva ut samma lista två gånger.