package systopbase;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author admin
* @description:
* @date 2020/4/2714:11
*/
public class Test {
public static void main(String[] args) {
List<Stu> stuList = new ArrayList<>();
for (int i = 0;i < 100;i++){
Stu stu = new Stu();
stu.setName("tom"+i);
if (i%2 == 0){
stu.setSex("男");
}else {
stu.setSex("女");
}
stuList.add(stu);
}
//收集集合中元素的某个属性为新的集合
List<String> collect = stuList.stream().map(Stu::getName).collect(Collectors.toList());
for (String s : collect) {
System.out.println(s);
}
System.out.println("-----------------------------------------------------------------------------");
//收集集合中元素的某个属性为字符串
String s = stuList.stream().map(Stu::getName).collect(Collectors.joining(",", "[", "]"));
System.out.println(s);
System.out.println("-----------------------------------------------------------------------------");
//计算平均年龄
Double aDouble = stuList.stream().collect(Collectors.averagingDouble(Stu::getAge));
System.out.println(aDouble);
System.out.println("-----------------------------------------------------------------------------");
//计算学生年龄总和
Integer sumAge = stuList.stream().collect(Collectors.summingInt(Stu::getAge));
System.out.println(sumAge);
System.out.println("-----------------------------------------------------------------------------");
//集合排序
stuList.stream().sorted(Comparator.comparing(Stu::getAge)).collect(Collectors.toList());
//将集合中性别为“男”的学生收集到一个新的list
List<Stu> manList = stuList.stream().filter(stu -> stu.getSex().equals("男")).collect(Collectors.toList());
}
}
class Stu{
private String name;
private Integer age;
private String sex;
public Stu() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
java8 stream常规操作
最新推荐文章于 2024-07-27 13:31:57 发布