//todo stream流的使用
//todo filter:过滤操作;保留符合过滤条件的对象;这是一个中间操作;后面可以带最终操作
//todo mapToInt: 将数据根据double类型来处理;
public static void main(String[] args) {
List<SalesOrder> list = createSalesOrder();
//获取集合中城市为上海的数量
System.out.println("mapToInt获取和:"+list.stream().filter(s -> s.getConsigneeCity().equals("上海"))
.mapToInt(SalesOrder::getCreateUserId).sum());
//利用stream流中的函数获取相关数值信息
IntSummaryStatistics summaryStatistics = list.stream().filter(s -> s.getConsigneeCity().equals("上海"))
.mapToInt(SalesOrder::getCreateUserId).summaryStatistics();
System.out.println("summaryStatistics函数获取数量:"+summaryStatistics.getCount());
System.out.println("summaryStatistics函数获取平均值:"+summaryStatistics.getAverage());
System.out.println("summaryStatistics函数获取最大值:"+summaryStatistics.getMax());
System.out.println("summaryStatistics函数获取最小值:"+summaryStatistics.getMin());
System.out.println("summaryStatistics函数获取和"+summaryStatistics.getSum());
static List<SalesOrder> createSalesOrder(){
List<SalesOrder> list = new LinkedList<>();
SalesOrder salesOrder = new SalesOrder();
salesOrder.setCreateUserId(12);
salesOrder.setConsigneeCity("上海");
list.add(salesOrder);
salesOrder = new SalesOrder();
salesOrder.setConsigneeCity("上海");
salesOrder.setCreateUserId(24);
list.add(salesOrder);
salesOrder = new SalesOrder();
salesOrder.setConsigneeCity("北京");
salesOrder.setCreateUserId(18);
list.add(salesOrder);
salesOrder = new SalesOrder();
salesOrder.setConsigneeCity("深圳");
salesOrder.setCreateUserId(16);
list.add(salesOrder);
salesOrder = new SalesOrder();
salesOrder.setConsigneeCity("广州");
salesOrder.setCreateUserId(30);
list.add(salesOrder);
salesOrder = new SalesOrder();
salesOrder.setConsigneeCity("杭州");
salesOrder.setCreateUserId(40);
list.add(salesOrder);
return list;
//todo stream流的使用 //todo filter:过滤操作;保留符合过滤条件的对象;这是一个中间操作;后面可以带最终操作 //todo mapToInt: 将数据根据double类型来处理; public static void main(String[] args) { List<SalesOrder> list = creat...
List<Integer> numList = Arrays.asList(1,2,5,10);
//方法一:
int max = numList.stream().mapToInt(x -> x).summaryStatistics().getMax();
int min = numList.stream().mapToInt(x -> x).summaryStatistics().getMin();
doubl...
1、对List集合中的Integer类型元素进行求最大,最小,平均值。
//Integer类型求和
System.out.println("===========Integer类型求和==================");
Integer sum = list.stream().reduce(I
JAVA8新特一、根据字段分组根据性别分组效果如图所示二、根据字段求和根据年龄求和效果如图所示三、遍历数据遍历数据效果图四、过滤数据根据年龄字段过滤数据效果五、根据字段求最大最小值根据字段求最大最小值效果图六、根据需求将list转为map根据需求将list转为map效果图七、排序排序效果图八、去重去重效果图
所有的代码均以User对象来做案例,有不对或者错误的地方请各位J友多多担待和指出.
实体类...
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。stream不是数据结构,不会保存数据;惰性求值,流在中间处理过程中,只是对操作进行了记录,并不会立即执行,需要等到执行终止操作的时候才会进行实际的计算。
直接上代码:为了方便验证,有些中间加了条件,筛出部分数据进行操作
@Test
void testStream(){
List<Persion> list = new ArrayList
引用feignClient对象项目启动异常-Consider defining a bean of type ‘com.xxx.service.xxxRemote‘ in your configura
猿猿ml:
shardingsphere-jdbc之standard标准分片(4.1.1)
漂流中的小猿:
Linux环境下Redis允许外部访问
Tisfy: