}
}
**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