- 浏览: 191949 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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
stream的一些聚合函数包括:
count(), findFirst(), max(), min(), reduce(), sum()
SimpleStreamDemo.java
运行结果:
We're in good hands! The adult superheros have 243 years of experience
Heroes by name: [Athena, Francisco, Grelber, Jumbletron, Mavericks, Palladin, Roderick, Superman]
count(), findFirst(), max(), min(), reduce(), sum()
SimpleStreamDemo.java
package corejava8.functional; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class SimpleStreamDemo { static class Hero { String name; int age; public Hero(String name, int age) { this.name = name; this.age = age; } } static Hero[] heroes = { new Hero("Grelber", 21), new Hero("Roderick", 12), new Hero("Francisco", 35), new Hero("Superman", 65), new Hero("Jumbletron", 22), new Hero("Mavericks", 1), new Hero("Palladin", 50), new Hero("Athena", 50) }; public static void main(String[] args) { long adultYearsExperience = Arrays.stream(heroes).filter(b -> b.age >= 18) .mapToInt(b -> b.age).sum(); System.out.println("We're in good hands! The adult superheros have " + adultYearsExperience + " years of experience"); List<Object> sorted = Arrays.stream(heroes) .sorted((h1, h2) -> h1.name.compareTo(h2.name)).map(h -> h.name) .collect(Collectors.toList()); System.out.println("Heroes by name: " + sorted); } }
运行结果:
We're in good hands! The adult superheros have 243 years of experience
Heroes by name: [Athena, Francisco, Grelber, Jumbletron, Mavericks, Palladin, Roderick, Superman]
发表评论
-
Java高并发和多线程系列 - 1. 线程基本概念
2018-04-16 09:45 3621. 什么是线程? 线程和进程的区别 在了解线程的概念前,我 ... -
Java多线程编程-同步和锁
2017-10-04 13:29 01. 竞态条件(Race Condition) 两个或以上线 ... -
Core Java - 流(Stream) - 字节流和字符流(一)
2016-12-02 17:27 4910. 概述: Java中基于流的 ... -
Java开发 - 异常 - 使用throws
2016-04-21 11:35 562如果一个方法可能会产生异常,我们需要用throws关键字给它标 ... -
Java开发 - 异常 - 抛出异常
2016-04-21 11:24 630问题: 如何抛出一个系统异常并且捕获它 代码如下: pu ... -
数组自定义排序
2015-10-21 14:17 1459CustomComparator.java package ... -
数组排序
2015-10-21 09:58 706SortArray.java package coreja ... -
HashMap使用范例
2015-10-20 14:25 794HashMapDemo.java package core ... -
Java8新特性 - Lambda表达式 - Functional Interfaces
2015-10-20 09:52 775Mapper.java package corejava8 ... -
使用Hashtable和线程技术制作自己简单的内存缓存
2013-07-19 11:06 11581. 首先,我们要做一个缓存数据类 这个数据类要有一个数据 ... -
Java OutOfMemory 解决
2013-07-19 10:18 837Eclipse中设置 -
String.format方法使用
2013-06-18 15:21 1918一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[a ... -
JDK1.6连接SQL Server2008失败的原因
2011-07-29 15:05 10781. 需要下载最新sql server jdbc,从微软网站下 ... -
jar命令打包java带有包名的类文件
2011-07-13 09:40 1313jar cvfm JTool.jar jtool\ui\man ... -
ikvm转换jar文件成dll
2011-06-19 22:35 1746ikvmc -out:BasicFileOutput.dll ... -
jar命令打包java类文件
2011-06-19 22:33 1368jar cvfm BasicFileOutput.jar ma ... -
Java命令行编译自动生成包目录
2011-06-19 18:01 1393javac -d . BufferedInputFile.ja ... -
用命令行编译和执行带有包的java文件
2011-06-19 15:24 2787主要介绍java和javac命令的使用, 分带package和 ... -
FilenameFilter过滤目录下文件
2011-06-19 10:01 991编写一个实现FilenameFilter接口的类 publ ... -
Java调用Oracle的过程和函数
2010-05-07 21:06 1346/** 调用数据库里的一个函数 一个函数本质上一个返回 ...
相关推荐
Stream可以串联起来形成一个操作管道,通过这些管道可以进行聚合操作,如查找、过滤、映射和组合。Stream API的设计非常适合函数式编程,因为它鼓励使用声明式编程风格,而不是命令式风格。 4. **Optional类**: ...
Java 8 Stream API是Java开发中的一个重要里程碑,它引入了一种全新的处理数据的方式,使得代码更加简洁、高效。Stream API可以用于处理集合、数组以及其他数据源,提供了丰富的操作,如筛选、映射、聚合等,使得...
Java Stream是Java 8引入的重要特性,它提供了一种高效且富有表达力的方式来处理集合数据。Stream API使得处理集合变得更加简洁,尤其是与Lambda表达式配合使用时,极大地提高了代码的可读性和性能。 1. **Stream的...
在这个"java8-stream源码-java8-learning"项目中,我们将深入探讨Java 8的流API,以及其他相关知识点。 1. **流(Stream API)** Java 8的流API是一种处理数据的新方式,它允许程序员以声明性的方式处理集合。流可以...
7. **收集器(Collectors)**:Collectors是Java 8中提供的一组实用工具类,用于将Stream转换为其他数据结构,如集合或进行聚合操作。常见的收集器有`.toList()`, `.toSet()`, `.toMap()`等。 8. **函数式编程的...
在`jdk8Demo`的示例中,你会看到如何将Stream API和Lambda表达式结合,优雅地处理集合数据,实现数据过滤、转换和聚合等功能。这两个特性不仅让Java代码更简洁,而且提高了代码的可读性和可维护性,是Java开发者必须...
标题中的“【转】Stream类”表明我们将讨论Java编程语言中的Stream API,这是一个在Java 8及更高版本中引入的强大工具,用于处理集合数据。Stream API提供了声明式编程风格,使得对集合的操作更加高效和简洁。 ...
书中不仅涵盖了Java语言的基础知识,还深入探讨了近年来Java语言的一些重大更新,特别是Java 8中的Lambda表达式和函数式编程特性。这对于希望了解和掌握现代Java编程方法的开发者来说,是一本不可多得的好书。 ####...
Java Streams 是Java 8引入的一项强大特性,它提供了一种高效且易读的方式来处理集合数据。这个特性极大地改进了Java的编程模型,特别是在处理大量数据时。以下将详细阐述Java Streams的8个很酷的特性及其应用。 1....
Java 8 引入了流(Streams)的概念,它是一系列支持顺序和并行处理的元素,并且可以透明地以不同的方式处理,包括过滤、映射转换、查找、匹配和聚合。Java 8 Streams API 是 Java 新增的特性之一,提供了一个高级的...
在Linux系统中,经常使用管道符“|”来实现类似的功能,Stream API的设计思想与此类似,这种风格在处理数据流时非常有用。 在处理集合时,开发者可以创建一个流,然后连续进行多个操作,最终得到所需的结果。例如,...
9. **并行流(Parallel Streams)**:Stream API支持并行操作,可以充分利用多核处理器的计算能力,通过简单的API调用实现高效的并行计算。 10. **类型注解**:JDK8允许在类型声明(包括参数、返回类型、字段和局部...
在编程领域,Go语言以其简洁、高效的特性深受开发者喜爱,而Java Stream API则是Java 8引入的一个强大特性,它提供了一种处理集合数据的新方式,让代码更加简洁、易读。这个项目“Go-JavaStreamAPI的一个Go语言实现...
Java 8 是一个重要的Java平台版本,引入了许多新特性,其中最引人注目的就是Stream API。Stream API为处理集合提供了全新的方式,它允许我们以声明性的方式处理数据,简化了代码并提高了效率。让我们深入了解一下...
3. **Stream API**:提供了一种用于处理集合的新方法,支持数据管道操作,如过滤、映射和聚合,使得代码更简洁、可读性更强。 4. **日期与时间API**:通过`java.time`包提供了新的日期和时间API,取代了过时的`java....
这种做法旨在利用Java 8的Stream API和Lambda表达式来增强MyBatis-Plus的查询能力,从而实现更灵活、更优雅的数据处理。 1. **Stream API的引入**: Stream API是Java 8的一个重要特性,它提供了一种全新的处理...
通过这种方式,开发者可以编写更简洁、更易于理解的代码,特别是在处理集合和并发任务时,Lambda表达式与Stream API结合,能实现强大的数据处理功能。 Stream API是Java 1.8中另一个重要的增强,它提供了一种声明性...
Java 8 Stream API 是一种强大的数据处理工具,它引入了函数式编程的概念,使得在Java中处理集合数据变得更加简洁和高效。在这个名为"javastream源码-kaunasjug3streamapi"的项目中,我们可以深入理解Stream API的...
本文将深入探讨Java 8的几个关键特性,包括拉姆达表达式、流(Stream)以及默认方法。 1. **拉姆达表达式** (Lambda Expressions) Java 8引入了拉姆达表达式,它是一种简洁的匿名函数表示法,主要用于处理函数接口。...