我想对Java中的List
项进行排序,并让排序返回一个新的排序后的List
而不改变原始的List
。有一个常用的库可以做到这一点吗?
答案 0 :(得分:2)
如果您使用的是Java 8或更高版本,则可以使用Stream API。有关详细信息,请参见Sorting a list with stream.sorted() in Java。
例如:
List<String> sortedList = myList.stream().sorted().collect(Collectors.toList());
答案 1 :(得分:0)
这会将(通过引用)原始列表中的元素复制到新列表中。像更改一个列表的顺序那样进行更改不会影响其他列表。
List<String> original = new ArrayList<String>();
List<String> new = new ArrayList(original);
但是请注意,如果您修改列表中的对象,由于对象是通过引用复制的,因此更改将反映在两个列表中。