作者: 王简书2009 | 来源:发表于2017-09-29 23:51 被阅读0次
    Lambda 几个函数式接口
        // predicat.test 输出 true false
        public static <T> List<T> Filter(List<T> list, Predicate<T> p){
            List<T> result = new ArrayList<T>();
            for (T t : list) {
                if (p.test(t)) {
                    result.add(t);
                }
            }
            return result;
        }
        
        // consume.accept 返回值 void
        public static <T> void foeach(List<T> list, Consumer<T> c){
            for (T t : list) {
                c.accept(t);
            }
        }
        
        // function.apply  输入 T 返回 R
        public static <T,R> List<R> Map(List<T> list, Function<T, R> f){
            List<R> result = new ArrayList<>();
            for (T t : list) {
                result.add(f.apply(t));
            }
            return result;
            
        }
    
    
    @FunctionalInterface
    public interface Supplier<T> {
    
        /**
         * Gets a result.
         *
         * @return a result
         */
        T get();
    }
    

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/lygwextx.html