优化:侧边栏支持显示置顶文章分组

This commit is contained in:
2022-08-21 00:02:28 +08:00
parent 0c1ad2917c
commit 8b36123e31
15 changed files with 422 additions and 8 deletions

View File

@@ -0,0 +1,46 @@
---
title: 个人常用Stream使用技巧
author: 查尔斯
date: 2019/12/29 15:00
isTop: true
categories:
- 杂碎逆袭史
tags:
- Java
- Stream
- Lambda
---
# 个人常用Stream使用技巧
<!-- more -->
## 映射并以指定分隔符进行拼接
::: warning 需求
将角色中的角色名称取出来,并以 `,` 号分隔的形式将所有角色名称拼接成一个字符串。
:::
::: tip 实现方案
通过 `map()` 可以只保留角色名称信息, 通过 `Collectors.joining()` 可以将角色名称以指定分隔符拼接起来。
:::
```java
// 1、准备一些实验数据, 代码不会像注释一样骗人, 所以就不单独对角色类中的字段解释了
List<Role> roleList = new ArrayList<>(3);
roleList.add(new Role(1, "超级管理员"));
roleList.add(new Role(2, "管理员"));
roleList.add(new Role(3, "普通用户"));
// 2、通过 map() 可以只保留角色名称, 通过 Collectors.joining() 可以将角色名称以指定分隔符拼接起来
String result = roleList.stream()
.map(Role::getName)
.collect(Collectors.joining(","));
// 3、输出结果
// 超级管理员,管理员,普通用户
System.out.println(result);
```