Java 8流目录列表未按预期排序

时间:2014-05-03 04:34:23

标签: java sorting stream

开始使用Java8并使用流,但我不明白为什么第一段代码没有按文件日期对目录列表进行排序,而第二段却没有? 排序前的第一个映射和映射前的第二个排序。

   System.out.println("This does not work as far as sorting by date "
            + "- it sorts by alpha");
   Files.list(Paths.get("C:\\ProgramData\\Dummy"))
            .map(Path::getFileName)
            .sorted(
                    (s1, s2)
                    -> s1.toFile().lastModified()
                    >= s2.toFile().lastModified() ? 1 : -1
            )
            .forEachOrdered(System.out::println);
    System.out.println("--------------------");

    System.out.println("This sorts by date");
    Files.list(Paths.get("C:\\ProgramData\\Dummy"))
            .sorted(
                    (s1, s2)
                    -> s1.toFile().lastModified()
                    >= s2.toFile().lastModified() ? 1 : -1
            )
            .map(Path::getFileName)
            .forEachOrdered(System.out::println);
    System.out.println("--------------------");

0 个答案:

没有答案
相关问题