🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 3.2.1 中间操作 | 中间操作 | 返回类型 | 参数 | 函数描述符 | | :----: | :----: | ---- | ---- | | **filter** | `Stream<T>` | `Predicate<T>` | `T->boolean` | | **map** | `Stream<T>` | `Function<T, R>` | `T->R` | | **limit** | `Stream<T>` | | `T->boolean` | | **sorted** | `Stream<T>` | `Comparator<T>` | `(T, T) -> int` | | **distinct** | `Stream<T>` | | `T->boolean` | **1. 获取所有type为3的Model,按照value降序排序,输出name列表:** ```java /* 获取所有type为3的Model,按照value降序排序,输出name列表 */ List<String> nameList = DATA.stream() .filter(m -> m.getType() == 3) .sorted(Comparator.comparing(Model::getValue).reversed()) .map(Model::getName) .collect(Collectors.toList()); System.out.println(nameList); /* [G, F, E] */ ``` **2. 先按照success进行分组,再按照type进行分组,输出Model列表** ```java /* 先按照success进行分组,再按照type进行分组,输出Model列表 */ Map<Boolean, Map<Integer, List<Model>>> groupMap = DATA.stream() .collect(Collectors.groupingBy(Model::getSuccess, Collectors.groupingBy(Model::getType))); System.out.println(groupMap); /* {false={1=[B], 2=[D], 3=[F]}, true={1=[A], 2=[C], 3=[E, G]}} */ ```