Java8新特性之streamAPI(四)

練習:

1.給定一個數字列表,如何返回一個由每個數的平方構成的列表?
  給定【1,2,3,4,5】,返回【1,4,9,16,25】
2.用map和reduce方法數一數流中一共用多少個Employee
package streamAPI;

import lambda.Employee;
import org.junit.Test;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;


public class TestStreamAPI {

    List<Employee> employees = Arrays.asList(
            new Employee("張三", 25, 9000, Employee.Status.FREE),
            new Employee("李四", 38, 10000, Employee.Status.BUSY),
            new Employee("王曉", 45, 12000, Employee.Status.FREE),
            new Employee("李華", 28, 9500, Employee.Status.FREE),
            new Employee("花花", 22, 8000, Employee.Status.VOCATION),
            new Employee("李華", 28, 9500, Employee.Status.VOCATION),
            new Employee("花花", 22, 8000, Employee.Status.BUSY),
            new Employee("花花", 22, 8000, Employee.Status.BUSY),
            new Employee("李華", 28, 9500, Employee.Status.BUSY),
            new Employee("花花", 22, 8000, Employee.Status.VOCATION)
    );

    /*
     *1.給定一個數字列表,如何返回一個由每個數的平方構成的列表?
     * 給定【1,2,3,4,5】,返回【1,4,9,16,25】
     */
    @Test
    public void test1() {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
        list.stream()
                .map((x) -> x * x)
                .forEach(System.out::println);
    }

    /*
     *2.用map和reduce方法數一數流中一共用多少個Employee
     */
    @Test
    public void test2() {
        Optional<Integer> count = employees.stream()
                .map((e) -> 1)
                .reduce(Integer::sum);
        System.out.println(count.get());
    }
}
相關函數聲明詳見:https://blog.csdn.net/qq_38358499/article/details/104636487
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章