我想在Java中对项目列表进行排序,并使排序返回一个新的已排序而不改变原来的。是否有常用的库可以做到这一点?
List<String> sortedList = myList.stream().sorted().collect(Collectors.toList());
这将把原列表中的元素(通过引用)复制到新列表中。对其中一个列表进行排序等更改不会影响另一个列表。
List<String> originalList = new ArrayList<String>();
List<String> newList = new ArrayList(originalList);
List<Item> sortedList = new ArrayList<>(unsortedList); sortedList.sort(null);
操作。 - VGRstream()
将其转换为流,然后对流进行排序。也许可以3)创建一个已排序的“视图”-但是这将具有O(lg n)的访问时间,因此可能没有用处。 - Boris the Spider