List unmodifiableList = Collections.unmodifiableList(list);
List newList = new ArrayList(unmodifiableList);
Collections.sort(newList);
The constructor of ArrayList
takes an existing list, reads its elements (without modifying them!), and adds them to the new List.