How to get a reversed list view on a list in Java? How to get a reversed list view on a list in Java? java java

How to get a reversed list view on a list in Java?


Use the .clone() method on your List. It will return a shallow copy, meaning that it will contain pointers to the same objects, so you won't have to copy the list. Then just use Collections.

Ergo,

Collections.reverse(list.clone());

If you are using a List and don't have access to clone() you can use subList():

List<?> shallowCopy = list.subList(0, list.size());Collections.reverse(shallowCopy);


Guava provides this: Lists.reverse(List)

List<String> letters = ImmutableList.of("a", "b", "c");List<String> reverseView = Lists.reverse(letters); System.out.println(reverseView); // [c, b, a]

Unlike Collections.reverse, this is purely a view... it doesn't alter the ordering of elements in the original list. Additionally, with an original list that is modifiable, changes to both the original list and the view are reflected in the other.


If i have understood correct then it is one line of code .It worked for me .

 Collections.reverse(yourList);