使用jdk8的Stream來獲取list集合的最小值、最大值、總和、平均數

1. Employee 實體類

class Employee{
	 private int id;
	 private String name;
	 private int age;

	 public Employee(String name, int age) {
	  this.name = name;
	  this.age = age;
	 }

	 public int getId() {
	  return id;
	 }

	 public void setId(int id) {
	  this.id = id;
	 }

	 public String getName() {
	  return name;
	 }

	 public void setName(String name) {
	  this.name = name;
	 }

	 public  int getAge() {
	  return age;
	 }

	 public void setAge(int age) {
	  this.age = age;
	 }
}

2.定義List集合和初始化數據

static List<Employee> empList = new ArrayList<Employee>();
	private static void initEmp(){
		empList.add(new Employee("張三",30));
		empList.add(new Employee("張三1",96));
		empList.add(new Employee("張三2",23));
		empList.add(new Employee("張三3",69));
		empList.add(new Employee("張三4",85));
		empList.add(new Employee("張三5",62));
		empList.add(new Employee("張三6",12));
		empList.add(new Employee("張三7",99));
		empList.add(new Employee("張三8",11));
	}

3. 獲取員工年齡的最大、最小、總和、平均值

	public static void main(String[] args) {
		initEmp();
		int sum = empList.stream().mapToInt(Employee->Employee.getAge()).sum();
		int max = empList.stream().mapToInt(Employee->Employee.getAge()).max().getAsInt();
		int min = empList.stream().mapToInt(Employee->Employee.getAge()).min().getAsInt();
		double avg = empList.stream().mapToInt(Employee->Employee.getAge()).average().getAsDouble();
		System.out.println("最大值:"+max+"\n最小值:"+min+"\n總和:"+sum+"\n平均值:"+avg);
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章