Nur für den Fall, dass wir die Java 8 dann können wir Stream verwenden. Die ArrayList ist eine Liste mit wahlfreiem Zugriff, und wir können einen Strom von Elementen in umgekehrter Reihenfolge abrufen und ihn dann in einer neuen ArrayList
.
public static void main(String[] args) {
ArrayList<String> someDummyList = getDummyList();
System.out.println(someDummyList);
int size = someDummyList.size() - 1;
ArrayList<String> someDummyListRev = IntStream.rangeClosed(0,size).mapToObj(i->someDummyList.get(size-i)).collect(Collectors.toCollection(ArrayList::new));
System.out.println(someDummyListRev);
}
private static ArrayList<String> getDummyList() {
ArrayList dummyList = new ArrayList();
//Add elements to ArrayList object
dummyList.add("A");
dummyList.add("B");
dummyList.add("C");
dummyList.add("D");
return dummyList;
}
Der obige Ansatz eignet sich nicht für LinkedList, da es sich dabei nicht um einen Zufallszugriff handelt. Wir können auch Gebrauch machen von instanceof
ebenfalls zu überprüfen.