Java:对不可修改的列表进行排序

2022-09-01 16:18:40

如何做到这一点?

我尝试创建一个新的空列表,然后将不可修改的列表的元素复制到其中,但是我得到了不受支持的操作错误。

任何帮助是值得赞赏的。


答案 1

FWIW,使用谷歌收藏,这是一个单行:

List<Foo> sorted = Ordering.natural().sortedCopy(unmodifiableList);

答案 2
    List unmodifiableList = Collections.unmodifiableList(list);

    List newList = new ArrayList(unmodifiableList);

    Collections.sort(newList);

的构造函数采用现有列表,读取其元素(不修改它们!),并将它们添加到新的 List 中。ArrayList


推荐