1.排序 -升序排序:
list.stream().sorted().collect(Collectors.toList());
降序排序:
list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
如果想根据对象的某个属性排序
升序(User就是你的实体类对象):
list.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
降序( .reversed() ):
list.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());
在Java中,对流进行排序、去重和过滤可以通过Stream API来实现。下面是对每一项操作的简单示例:
- 去重:使用
distinct()
方法对流进行去重。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(5, 3, 8, 2, 1, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println("Distinct numbers: " + distinctNumbers);
}
}
输出结果:Sorted numbers: [5, 3, 8, 2, 1, 4]
- 过滤:使用
filter()
方法对流进行过滤。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(5, 3, 8, 2, 1, 4, 5);
List<Integer> filteredNumbers = numbers.stream()
.filter(n -> n % 2 == 0) // 过滤偶数
.collect(Collectors.toList());
System.out.println("Filtered numbers (even): " + filteredNumbers);
}
}
输出结果:Sorted numbers: [8, 2, 4]
这些操作可以组合在一起,形成一个流水线,例如先排序,然后去重,最后过滤。需要注意的是,Stream API提供了丰富的操作方法,可以根据具体需求进行组合和调用。