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);