使用流排序

List<String> data = new ArrayList<>();
data.add("Sydney");
data.add("London");
data.add("New York");
data.add("Amsterdam");
data.add("Mumbai");
data.add("California");

System.out.println(data);

List<String> sortedData = data.stream().sorted().collect(Collectors.toList());

System.out.println(sortedData);

輸出:

[Sydney, London, New York, Amsterdam, Mumbai, California]
[Amsterdam, California, London, Mumbai, New York, Sydney]

也可以使用不同的比較機制,因為有一個過載的 sorted 版本,它以比較器為引數。

此外,你可以使用 lambda 表示式進行排序:

List<String> sortedData2 = data.stream().sorted((s1,s2) -> s2.compareTo(s1)).collect(Collectors.toList());

這將輸出 [Sydney, New York, Mumbai, London, California, Amsterdam]

你可以使用 Comparator.reverseOrder() 來建立一個比較器來強加自然順序的 reverse

List<String> reverseSortedData = data.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());