| Several of the methods in `java.util.Collections`, such as `sort` and `shuffle`, |
| modify collections in place. If you call one of these methods on a |
| newly-allocated collection and don't use it later, you are doing unnecessary |
| work. You probably meant to keep a reference to the newly-allocated copy of your |
| collection and use that in the rest of your code. |
| |
| For example, this code sorts a new `ArrayList` and then throws away the result, |
| returning the unsorted original collection: |
| |
| ```java |
| public Collection<String> sort(Collection<String> foos) { |
| Collections.sort(new ArrayList<>(foos)); |
| return foos; |
| } |
| ``` |
| |
| The author probably meant: |
| |
| ```java |
| public Collection<String> sort(Collection<String> foos) { |
| List<String> sortedFoos = new ArrayList<>(foos); |
| Collections.sort(sortedFoos); |
| return sortedFoos; |
| } |
| ``` |