Stream流的这些操作,BAT大厂最爱问的Java核心面试百题详细解析

这篇博客详细解析了Java Stream的相关操作,包括Stream的创建、过滤、映射、扁平化、终止操作等,并通过实例展示了如何使用allMatch、anyMatch、noneMatch、findFirst、findAny、count、max、min等方法。此外,还提到了Stream在面试中的常见问题,强调面试者应自信表达自己的思路。
摘要由CSDN通过智能技术生成
}

}


**sorted(Comparator)–定制排序**

package com.ysh.review01_Stream;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Stream;

public class StramTest02 {
public static void main(String[] args) {
Employee employee01=new Employee(“yang”,“哈哈”,19);
Employee employee02=new Employee(“yang”,“hui”,49);
Employee employee03=new Employee(“yang”,“hui”,79);
Employee employee04=new Employee(“yang”,“呵呵呵”,79);
Employee employee05=new Employee(“yang”,“hui”,39);
Employee employee06=new Employee(“yang”,“hui”,29);
List list= Arrays.asList(employee01,employee02,employee03,employee04,employee05,employee06);
//创建Stream
Stream stream1 = list.stream();
//对stream1流进行过滤
Stream s = stream1.filter((e) -> {
System.out.println("---------------filter------------");
//过滤掉年龄小于19
return e.getAge() >= 19;
});
//s=s.skip(5);
/*此处可以使用Lambda表达式,即s.sorted((o1,o2)->{
//升序排序,如果年龄相同,则按照姓名的长度排序
if (o1.getAge()==o2.getAge()){
return o1.getName().length()-o2.getName().length();
}
//按照年龄升序排序
return o1.getAge()-o2.getAge();

                      })

     */
    s=s.sorted(new Comparator<Employee>() {
        @Override
        public int compare(Employee o1, Employee o2) {
            //升序排序,如果年龄相同,则按照姓名的长度排序
            if (o1.getAge()==o2.getAge()){
                return o1.getName().length()-o2.getName().length();
            }
            //按照年龄升序排序
            return o1.getAge()-o2.getAge();
        }
    });
    s.forEach((e-> System.out.println(e)));
}

}


## Stream中的map和flatMap方法:

*   流中的每一个数据,当做m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值