Java使用stream流简单实现操作复杂的代码
1、集合创建流
// 创建一个顺序流
Stream<String> stream = list.stream();
// 创建一个并行流
Stream<String> parallelStream = list.parallelStream();
2、java list泛型简单的几种转换
//listString 转List<Long>
List<Long> listLong = listString.stream()
.mapToLong(Long::parseLong)
.boxed()
.collect(Collectors.toList());
List<Long> longList = listString.stream()
.map(Long::valueOf)
.collect(Collectors.toList());
//listString 转List<Integer>
List<Integer> listInteger = listString.stream()
.mapToInt(Integer::parseInt)
.boxed()
.collect(Collectors.toList());
List<Integer> longList = listString.stream()
.map(Integer::valueOf)
.collect(Collectors.toList());
//List<Object> 转 List<String>
List<String> listString = Arrays.asList(listObject.toArray(new String[listObject.size()]));
//拼接list中字段为字符串
alarmInformUsers.stream().map(user -> user.getUserName()).collect(Collectors.joining(","));
//list进行分页
faultDiagnosisRiskVOS.stream().skip(page.getCurrent() * page.getSize())
.limit(page.getSize()).collect(Collectors.toList());
3、计算
//所有金额之和
Summary Summary = list.stream()
.filter(p -> null != p.getPaySalary())
.mapToDouble(p -> p.getPaySalary())
.summaryStatistics();
Double sum = doubleSummaryStatistics.getSum();