java - 在 Java 中使用流排序相对于集合排序有何优缺点?

标签 java list sorting java-8 java-stream

假设我有一个 pojo 模型:

class Model{
      String id;
      String name;
}

Java 中的列表,我想对已填充的列表列表模型进行排序。 目前,我正在考虑两种选择:

  1. 使用Collections.List:

    models.sort(.sort(Comparator.comparing(Model::getId)))

  2. 使用Java8 Stream API的排序函数:

    models..stream().sorted(Comparator.comparing(Model::getId)).collect(Collectors.toList())

谁能解释一下使用方法 2 相对于方法 1 的优缺点吗?

最佳答案

我相信最大的区别是,如果你使用list.sort(),它实际上会对列表进行排序。如果您使用 list.stream().sorted() ,它会返回一个排序列表,但实际上不会对您开始的列表进行排序。两种情况可能都有 - 这取决于您的偏好。

关于java - 在 Java 中使用流排序相对于集合排序有何优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845470/

相关文章:

objective-c - sortUsingSelector 不对 NSStrings 数组进行排序

java - StringBuilder循环: Local variable may not have been initialized

python - 如何在python中比较两个列表列表,然后将数据写入excel

java - BufferedReader.readLine() 破坏二进制文件

python - 将字符串转换为二元组列表

c# - 如何按字母顺序对字母数字列表进行排序

algorithm - 有人可以向我解释每个循环和变量在自下而上合并排序中的含义吗?

php - ksort 不尊重 LC_COLLATE

java - 知道包含 InputStream getter 的 ByteArrayOutputStream 吗?

java - 圆线交点