【发布时间】:2018-08-24 21:04:22
【问题描述】:
我想在 Java 中对 List 的项目进行排序,并让排序返回一个新的排序后的 List,而不改变原始的 List。有没有一个常用的库可以做到这一点?
【问题讨论】:
-
所有 Java SE 集合类都有一个复制另一个集合的构造函数。使用它,你可以做
List<Item> sortedList = new ArrayList<>(unsortedList); sortedList.sort(null); -
1) 复制它,对副本排序,或 2)
stream()它,对Stream排序。也许 3) 创建一个排序的 view - 但那会有O(lg n)访问时间,所以可能没用。