- 浏览: 192946 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (75)
- JSP/Servlet (4)
- Spring (5)
- Hibernate (1)
- Struts (5)
- EJB (3)
- Swing (1)
- Core Java (29)
- Algorithm (2)
- HTML/CSS/JavaScript (0)
- JQuery/AJAX (1)
- Oracle (0)
- Design Pattern (2)
- MVC (0)
- Web服务器 (3)
- 杂项 (0)
- NetCDF On Java (0)
- Java Extension (2)
- iBATIS (4)
- English Articles (1)
- JavaEE (3)
- Java8 (3)
- Android (3)
- Maven (1)
- Hadoop (1)
- Docker (0)
- Java高并发 (0)
最新评论
-
Bll:
为什么要推荐jsp动作标签访问呢?
JavaBean入门 - 概念和简单例子 -
落雪封:
我检查过了,没有注释,只是大文本,也一直报这个错,求原因
Abator生成错误:XML document structures must start and end within the same entity
Mapper.java
MapperTest.java
运行结果:
Mapping names to their lengths:
David mapped to 5
Li mapped to 2
Doug mapped to 4
Mapping integers to their squares:
7 mapped to 49
3 mapped to 9
67 mapped to 4489
package corejava8.lambda; @FunctionalInterface public interface Mapper<T> { // An abstract method int map(T source); // A generic static method public static <U> int[] mapToInt(U[] list, Mapper<? super U> mapper) { int[] mappedValues = new int[list.length]; for (int i = 0; i < list.length; i++) { // Map the object to an int mappedValues[i] = mapper.map(list[i]); } return mappedValues; } }
MapperTest.java
package corejava8.lambda; public class MapperTest { public static void main(String[] args) { // Map names using their length System.out.println("Mapping names to their lengths:"); String[] names = { "David", "Li", "Doug" }; int[] lengthMapping = Mapper.mapToInt(names, (String name) -> name.length()); printMapping(names, lengthMapping); System.out.println("\nMapping integers to their squares:"); Integer[] numbers = { 7, 3, 67 }; int[] countMapping = Mapper.mapToInt(numbers, (Integer n) -> n * n); printMapping(numbers, countMapping); } public static void printMapping(Object[] from, int[] to) { for (int i = 0; i < from.length; i++) { System.out.println(from[i] + " mapped to " + to[i]); } } }
运行结果:
Mapping names to their lengths:
David mapped to 5
Li mapped to 2
Doug mapped to 4
Mapping integers to their squares:
7 mapped to 49
3 mapped to 9
67 mapped to 4489
发表评论
-
Java高并发和多线程系列 - 1. 线程基本概念
2018-04-16 09:45 3671. 什么是线程? 线程和进程的区别 在了解线程的概念前,我 ... -
Java多线程编程-同步和锁
2017-10-04 13:29 01. 竞态条件(Race Condition) 两个或以上线 ... -
Core Java - 流(Stream) - 字节流和字符流(一)
2016-12-02 17:27 5050. 概述: Java中基于流的 ... -
Java开发 - 异常 - 使用throws
2016-04-21 11:35 582如果一个方法可能会产生异常,我们需要用throws关键字给它标 ... -
Java开发 - 异常 - 抛出异常
2016-04-21 11:24 647问题: 如何抛出一个系统异常并且捕获它 代码如下: pu ... -
Java8通过管道流(stream)来实现集合的一些聚合函数
2015-10-22 10:24 1816stream的一些聚合函数包括: count(), findF ... -
数组自定义排序
2015-10-21 14:17 1463CustomComparator.java package ... -
数组排序
2015-10-21 09:58 723SortArray.java package coreja ... -
HashMap使用范例
2015-10-20 14:25 800HashMapDemo.java package core ... -
使用Hashtable和线程技术制作自己简单的内存缓存
2013-07-19 11:06 11711. 首先,我们要做一个缓存数据类 这个数据类要有一个数据 ... -
Java OutOfMemory 解决
2013-07-19 10:18 850Eclipse中设置 -
String.format方法使用
2013-06-18 15:21 1931一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[a ... -
JDK1.6连接SQL Server2008失败的原因
2011-07-29 15:05 10881. 需要下载最新sql server jdbc,从微软网站下 ... -
jar命令打包java带有包名的类文件
2011-07-13 09:40 1325jar cvfm JTool.jar jtool\ui\man ... -
ikvm转换jar文件成dll
2011-06-19 22:35 1757ikvmc -out:BasicFileOutput.dll ... -
jar命令打包java类文件
2011-06-19 22:33 1382jar cvfm BasicFileOutput.jar ma ... -
Java命令行编译自动生成包目录
2011-06-19 18:01 1405javac -d . BufferedInputFile.ja ... -
用命令行编译和执行带有包的java文件
2011-06-19 15:24 2796主要介绍java和javac命令的使用, 分带package和 ... -
FilenameFilter过滤目录下文件
2011-06-19 10:01 1002编写一个实现FilenameFilter接口的类 publ ... -
Java调用Oracle的过程和函数
2010-05-07 21:06 1365/** 调用数据库里的一个函数 一个函数本质上一个返回 ...
相关推荐
它们是Java 8及后续版本中引入的一个重要的新特性,允许将函数作为参数传递给方法,或者将方法作为值存储在变量中。函数式接口是Lambda表达式的基础,通过Lambda表达式可以为接口的抽象方法提供实现,使得代码更加...
整体而言,Java 8的Lambda表达式和流(Streams)为Java带来了强大的函数式编程能力,这些新特性极大地扩展了Java语言的表达能力,并为开发者提供了更加灵活和高效的方式来编写代码。《Java in easy steps》的目的是...
接下来,我们将详细解读Java 8中的几个核心新特性,并通过实例加以说明。 1. 默认接口方法(Default Interface Methods) Java 8允许开发者在接口中定义具体的方法实现,而不是仅仅局限于抽象方法。通过使用default...
### Java 8 新特性详解 #### 一、接口的默认方法(Default Methods for Interfaces) Java 8 引入了一个重要的概念——默认方法,默认方法允许在接口中定义具体的方法实现,而不需要强制所有实现该接口的类都重写...
Lambda表达式是Java 8引入的一种强大的编程概念,它使得函数式编程风格在Java中变得更加便捷。以下是一些在实际应用中使用Lambda表达式时的最佳实践: 1. **优先使用标准Functional接口**: Java在`java.util....
除了Lambda表达式,Java 8还引入了方法引用,它允许我们直接引用一个已经存在的方法,而不是通过Lambda表达式重新定义。例如,`Collections.sort()`方法可以使用`String::compareTo`方法引用,使代码更为简洁。 ...
Java 8是Java语言的一次重要更新,它引入了大量新特性以及API的改进,旨在提高Java开发者的生产力。以下是对Java 8新特性的详细知识点: 1. 默认接口方法(Default Interface Methods): Java 8允许在接口中使用...
这次我们将会深入学习 `java.util`、`java.util.function` 和 `java.util.stream` 这三个包下的源码,来理解这些新特性的实现原理和设计思想。 首先,Lambda 表达式是函数式编程的核心概念,它提供了一种简洁的方式...
- JDK8引入了Lambda表达式,这是一种简洁的匿名函数表示形式,它简化了函数式编程。源码中可以看到编译器如何将Lambda转换为Java方法接口的实例。 4. **函数式接口(Functional Interfaces)** - 如Runnable、...
2. **函数式接口(Functional Interfaces)**:为了支持lambda表达式,Java 8引入了函数式接口的概念。这些接口只有一个抽象方法,例如`Runnable`, `Callable` 和新添加的`Supplier`, `Consumer`, `Function`等。...
Lambda 表达式是 Java 8 引入的一项重要特性,它提供了一种简洁的方式来表示没有名字的函数。Lambda 表达式的语法如下: `(parameters) -> expression` 这里,`parameters` 是输入参数列表,`expression` 是函数体...
《Modern Java in Action》是一本详细介绍Java 8及后续版本中引入的新特性和编程范式的权威指南。本书由Raoul-Gabriel Urma、Mario Fusco和Alan Mycroft三位专家共同编写,通过丰富的示例代码和实践案例,帮助读者...
3. 编程实践:开发者可以开始利用Java 8的新特性编写代码,如使用Lambda表达式、Stream API以及新日期时间API等。 总之,JDK 1.8的64位官方正式版是一个重要的Java开发工具,其引入的诸多新特性极大地提高了开发...
java8 看不到源码335 的 Java8 演示 用法 这是一个eclipse项目,我曾经讲过Java 8的一些特性。这个项目中有两个包,notDone和done,notdone有pre java 8的代码,done有Java 8的代码。 当此代码用于讲座代码时,两个...
7. **Java 8及以后的新特性**: - Lambda表达式简化了函数式编程,Stream API提供了集合处理的新方式,Optional类用于更安全地处理null值。 - 并行流(Parallel Stream)利用多核处理器提高计算效率。 - Method ...
Lambda表达式是Java 8最具代表性的新特性,它允许开发者用更简洁的方式表示匿名函数。这种表达式可以被用来替代那些只使用一次的方法,特别是作为参数传递给方法或者存储在变量中。Lambda表达式的语法结构为 `...
10. **函数式接口(Functional Interfaces)**:Java 8引入了`@FunctionalInterface`注解,用于标识只包含一个抽象方法的接口,这是Lambda表达式的基础。 这些新特性共同构建了Java 8的核心价值,提高了Java作为...
- **Java EE 7新特性**: Java EE 7版本的主要改进与新增功能。 - **模块化与可扩展性**: Java EE 7如何提供更好的模块化支持。 - **微服务架构**: 如何使用Java EE 7构建微服务应用。 **LESSON33: Working with ...