posts - 325,  comments - 25,  trackbacks - 0
          /*
           * Java8 內置的四大核心函數式接口
           *
           * Consumer<T> : 消費型接口
           *   void accept(T t);
           *
           * Supplier<T> : 供給型接口
           *   T get();
           *
           * Function<T, R> : 函數型接口
           *   R apply(T t);
           *
           * Predicate<T> : 斷言型接口
           *   boolean test(T t);
           *
           */
          public class TestLambda3 {
           
           //Predicate<T> 斷言型接口:
           @Test
           public void test4(){
            List<String> list = Arrays.asList("Hello", "atguigu", "Lambda", "www", "ok");
            List<String> strList = filterStr(list, (s) -> s.length() > 3);
            
            for (String str : strList) {
             System.out.println(str);
            }
           }
           
           //需求:將滿足條件的字符串,放入集合中
           public List<String> filterStr(List<String> list, Predicate<String> pre){
            List<String> strList = new ArrayList<>();
            
            for (String str : list) {
             if(pre.test(str)){
              strList.add(str);
             }
            }
            
            return strList;
           }
           
           //Function<T, R> 函數型接口:
           @Test
           public void test3(){
            String newStr = strHandler("\t\t\t 我大尚硅谷威武   ", (str) -> str.trim());
            System.out.println(newStr);
            
            String subStr = strHandler("我大尚硅谷威武", (str) -> str.substring(2, 5));
            System.out.println(subStr);
           }
           
           //需求:用于處理字符串
           public String strHandler(String str, Function<String, String> fun){
            return fun.apply(str);
           }
           
           //Supplier<T> 供給型接口 :
           @Test
           public void test2(){
            List<Integer> numList = getNumList(10, () -> (int)(Math.random() * 100));
            
            for (Integer num : numList) {
             System.out.println(num);
            }
           }
           
           //需求:產生指定個數的整數,并放入集合中
           public List<Integer> getNumList(int num, Supplier<Integer> sup){
            List<Integer> list = new ArrayList<>();
            
            for (int i = 0; i < num; i++) {
             Integer n = sup.get();
             list.add(n);
            }
            
            return list;
           }
           
           //Consumer<T> 消費型接口 :
           @Test
           public void test1(){
            happy(10000, (m) -> System.out.println("你們剛哥喜歡大寶劍,每次消費:" + m + "元"));
           }
           
           public void happy(double money, Consumer<Double> con){
            con.accept(money);
           }
          posted on 2018-03-06 08:33 長春語林科技 閱讀(327) 評論(0)  編輯  收藏 所屬分類: java8
          <2018年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 集贤县| 宝山区| 大港区| 横山县| 台东市| 卢湾区| 屯昌县| 清苑县| 广宁县| 高尔夫| 会昌县| 吉水县| 金坛市| 南安市| 曲阳县| 屯门区| 临猗县| 高碑店市| 郯城县| 开封市| 睢宁县| 榆中县| 太湖县| 邢台县| 板桥市| 大新县| 霍州市| 湖南省| 贵德县| 资兴市| 江阴市| 曲阜市| 石棉县| 三河市| 江西省| 仪陇县| 镇坪县| 普定县| 平远县| 阳谷县| 三门县|