Map<HttpMethod, Set<String>> whiteMap = list.stream().collect(Collectors.groupingBy(SecurityUrlBO::getMethod, Collectors.mapping(SecurityUrlBO::getUrl, Collectors.toSet())));
使用groupingBy时传递一个mapping参数,mapping到所需要取的对象值
Map<HttpMethod, Set<String>> whiteMap = list.stream().collect(Collectors.groupingBy(SecurityUrlBO::getMethod, Collectors.mapping(SecurityUrlBO::getUrl, Collectors.toSet())));使用groupingBy时传递一个mapping参数,mapping到所需要取的对象值...
利用
java8
stream流将一个
对象集合转换成另一个
对象集合
// 从数据库中查询出的
对象集合
List<OperationStation> operationStations = operationStationJoinMapper.selectJoinByExample(example);
// 判端是否为空
if (CollectionUtils.isNotEmpty(operationStations)) {
项目中有个需求:需要将list<CmdVo> 根据cmd字段分组后再转换成list<Params>。虽然需求有点脑残,主要记录下stream流的使用吧。使用stream流转换真的很方便。
@Data
public class CmdVo {
private String cmd;
private String param;
private Object value;
@Data
public class Param {
privat
在Java 8中,groupingBy是java.util.stream.Collectors类的的静态方法 。
groupingBy根据任何给定的key对元素进行分组,并返回一个Collector。
<T,K> Collector<T,?,Map<K,List<T>>> groupingBy(Function<? super T,? extends K> classifier)
我们先创建一个Student类
Studen
Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组
数据准备:
public Product(Long id, Integer num, BigDecimal price, String name, String category) {
this.id = id;
this.num = num;
this.price = price;
this.name = name;
this.category = category;
Product prod1 = ne
3. 多态、内部类、常用API
4. 日期与时间、日期类、包装类、正则表达式、Arrays 类、常见算法、Lambda 表达式
5. Collection
集合、数据结构、
List集合、泛型、Set
集合、可变参数
6.
集合工具类Collections、Map
集合、
集合嵌套、不可变
集合
7.
Stream流、异常处理
8. Logback日志框架、阶段项目
9. File、方法递归、字符集、IO流(一)
10. IO流(二)
11. 多线程
12. 网络编程
13. 单元测试、反射、注解、动态代理
14. XML、解析、工厂模式和装饰模式
A对象List 转 为B对象List
如下所示:将Long类型的List 转换为String类型的List:
List<Long> longList = new ArrayList<>();
longList.add(1L);
longList.add(2L);
longList.add(3L);
List&...
Map<String, List<StuExaminationScore>> stuExaminationScoreMap = stuExaminationScoreList.stream().collect(Collectors.groupingBy(e -> e.getExaminationSubject()));
Map<String, Lis
可以使用stream的mapToInt方法将list中的string类型属性转换为int类型,然后使用sum方法计算总和。示例代码如下:
List<MyObject> list = new ArrayList<>();
int sum = list.stream().mapToInt(obj -> Integer.parseInt(obj.getStringProperty())).sum();
stjisu: