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 長春語林科技 閱讀(325) 評論(0)  編輯  收藏 所屬分類: java8
          <2018年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天柱县| 华容县| 大厂| 祁东县| 嘉义县| 兴和县| 格尔木市| 盱眙县| 彭水| 凭祥市| 邳州市| 吐鲁番市| 梁平县| 华安县| 龙里县| 建昌县| 黄石市| 和田市| 柳河县| 富宁县| 视频| 桓台县| 钦州市| 扶风县| 尼木县| 房产| 安平县| 时尚| 宁河县| 灵丘县| 静乐县| 天津市| 海晏县| 白水县| 宜章县| 连云港市| 邯郸县| 察隅县| 芜湖市| 铁岭县| 昭觉县|