首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁Java:Lambda”︁的源代码
←
Java:Lambda
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=Functional Interface= functional interface – an interface with a single abstract method. The Java API has many one-method interfaces such as Runnable, Callable, Comparator, ActionListener and others. They can be implemented and instantiated using anonymous class syntax. =Labmda expression= <source lang="java"> public interface Hello { public void sayHello(String who); } public interface Print<T> { public void print(T msg); } public static void main(String[] args) { Hello h = (String s) -> System.out.println(s); h.sayHello("Riguz"); Print<Float> p = (f) -> { System.out.println(f); System.out.println("Labmda"); }; p.print(new Float(3.1415926f)); } </source> =Aggregate operations = The following is a generic version of it that accepts, as a parameter, a collection that contains elements of any data type: <source lang="java"> public static <X, Y> void processElements( Iterable<X> source, Predicate<X> tester, Function <X, Y> mapper, Consumer<Y> block) { for (X p : source) { if (tester.test(p)) { Y data = mapper.apply(p); block.accept(data); } } } </source> The following example uses aggregate operations to print the e-mail addresses of those members contained in the collection roster who are eligible for Selective Service: <source lang="java"> roster .stream() .filter( p -> p.getGender() == Person.Sex.MALE && p.getAge() >= 18 && p.getAge() <= 25) .map(p -> p.getEmailAddress()) .forEach(email -> System.out.println(email)); </source> {| class="wikitable" border="1" |- ! Aggregate Operation |- | Stream<E> stream() |- | Stream<T> filter(Predicate<? super T> predicate) |- | <R> Stream<R> map(Function<? super T,? extends R> mapper) |- | void forEach(Consumer<? super T> action) |} [[Category:Programe]]
返回
Java:Lambda
。