![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 8
两点一刻
如有疑问,请发邮件:1176306419@qq.com
请关注:github:https://github.com/wangrui0/
我是一个java和大数据工程师!
展开
-
第2篇 stream -- 映射(map or flatmap)
/** * 映射: * 一个非常常见的数据处理套路就是从某些对象中选择信息。比如在SQL里,你可以从表中选 * 择一列。Stream API也通过map和flatMap方法提供了类似的工具。 */public class Demo2 { public static void main(String[] args) {// methord01();// ...原创 2018-10-18 13:23:21 · 848 阅读 · 0 评论 -
java 8 第16篇 配置并行流使用的线程池
看看流的parallel方法,你可能会想,并行流用的线程是从哪儿来的?有多少个?怎么自定义这个过程呢? 并行流内部使用了默认的ForkJoinPool(7.2节会进一步讲到分支/合并框架),它默认的线程数量就是你的处理器数量, 这个值是由Runtime.getRuntime().available-Processors()得到的。 但是你可以通过系统属性ja...原创 2018-11-07 16:54:42 · 2686 阅读 · 0 评论 -
java 8 第15篇 给定数字,输出先前的所有的质素和非质素(优化)
** * 获取质素和非质素的优化; * 其中T、A和R分别是流中元素的类型、用于累积部分结果的对象类型,以及collect操作最 * 终结果的类型。这里应该收集Integer流,而累加器和结果类型则都是Map<Boolean, * List<Integer>> */public class PrimeNumbersCollector implements Col...原创 2018-11-07 15:07:35 · 117 阅读 · 0 评论 -
java 8 第14篇 给定数字,输出先前的所有的质素和非质素
/** * 测验:将数字按质数和非质数分区 */public class Demo02 { public static void main(String[] args) { Map<Boolean, List<Integer>> partitionPrimes = partitionPrimes(50); System.out....原创 2018-11-07 15:05:48 · 115 阅读 · 0 评论 -
java 8 给出指定的数,输出该数以前的所有的基数和偶数
用java 8 实现一下,是不是感觉特精简呢?/** * 给出指定的数,输出该数以前的所有的基数和偶数 */public class IsPrimeDemo { public static void main(String[] args) { Map<Boolean, List<Integer>> map = partitionPrimes(...原创 2018-11-02 18:40:04 · 407 阅读 · 0 评论 -
第11篇 java 8----用流收集数据 -----分组
** * 一个常见的数据库操作是根据一个或多个属性对集合中的项目进行分组。就像前面讲到按货 * 币对交易进行分组的例子一样,如果用指令式风格来实现的话,这个操作可能会很麻烦、啰嗦而 * 且容易出错。但是,如果用Java 8所推崇的函数式风格来重写的话,就很容易转化为一个非常容 * 易看懂的语句。我们来看看这个功能的第二个例子:假设你要把菜单中的菜按照类型进行分类, * 有肉的放一组,有...原创 2018-10-21 21:07:15 · 146 阅读 · 0 评论 -
第10篇 java 8----用流收集数据 -----连接字符串
/** * 连接字符串 */public class Demo02 { public static void main(String[] args) { List<Dish> menues = Arrays.asList(new Dish("rice", true, 10000, Dish.Type.FISH), new Dish("meate", fa...原创 2018-10-21 19:40:14 · 169 阅读 · 0 评论 -
第9篇 用流收集数据----- 归约和汇总
/** * 为了说明从Collectors工厂类中能创建出多少种收集器实例,我们重用一下前面的例 * 子:包含一张佳肴列表的菜单! * 就像你刚刚看到的,在需要将流项目重组成集合时,一般会使用收集器(Stream方法collect * 的参数)。再宽泛一点来说,但凡要把流中所有的项目合并成一个结果时就可以用。这个结果可以 * 是任何类型,可以复杂如代表一棵树的多级映射,或是简单如一个整...原创 2018-10-21 19:10:56 · 256 阅读 · 0 评论 -
第8篇 stream流 创建流
/** * 构建流 * Stream API提供了两个静态方法来从函数生成流:Stream.iterate和Stream.generate。 * 这两个操作可以创建所谓的无限流:不像从固定集合创建的流那样有固定大小的流。 * 由iterate 和generate产生的流会用给定的函数按需创建值,因此可以无穷无尽地计算下去!一般来说, * 应该使用limit(n)来对这种流加以限制,以避...原创 2018-10-21 16:14:22 · 145 阅读 · 0 评论 -
第7篇 stream流 数值的范围
** * 数值范围 : */public class NumberRangeDemo { public static void main(String[] args) {// test01();// test02(); test03(); } /** * 生产1-100内的所有的偶数(包括100) ...原创 2018-10-21 09:51:21 · 1827 阅读 · 0 评论 -
第6篇 stream ---数值流
** * Java 8引入了三个原始类型特化流接口来解决这个问题:IntStream、DoubleStream和 * LongStream,分别将流中的元素特化为int、long和double,从而避免了暗含的装箱成本。每 * 个接口都带来了进行常用数值归约的新方法,比如对数值流求和的sum,找到最大元素的max。 * 此外还有在必要时再把它们转换回对象流的方法。要记住的是,这些特化的原...原创 2018-10-20 08:52:12 · 2319 阅读 · 0 评论 -
第1篇 java 8 流的学习----筛选和切片
筛选、切片和匹配 查找、匹配和归约 使用数值范围等数值流 从多个源创建流 无限流/** * 筛选和切片 */public class Demo01 { public static void main(String[] args) { List<Dish> menues = Arrays.asList(new Dish("rice",...原创 2018-10-17 15:46:35 · 119 阅读 · 1 评论 -
第 13 篇 java 8 用流分析数据----测验:将数字按质数和非质数分区
/** * 测验:将数字按质数和非质数分区 */public class Demo02 { public static void main(String[] args) { Map<Boolean, List<Integer>> partitionPrimes = partitionPrimes(50); System.out...原创 2018-10-22 11:30:13 · 167 阅读 · 0 评论 -
第 12 篇 java 8 用流分析数据---分区
/** * 分区: * 分区是分组的特殊情况:由一个谓词(返回一个布尔值的函数)作为分类函数,它称分区函 * 数。分区函数返回一个布尔值,这意味着得到的分组Map的键类型是Boolean,于是它最多可以 * 分为两组——true是一组,false是一组 */public class Demo01 { public static void main(String[] args)...原创 2018-10-22 11:15:13 · 164 阅读 · 0 评论 -
第5篇---小练习
/** * 总结练习: * (1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。 * (2) 交易员都在哪些不同的城市工作过? * (3) 查找所有来自于剑桥的交易员,并按姓名排序。 * (4) 返回所有交易员的姓名字符串,按字母顺序排序。 * (5) 有没有交易员是在米兰工作的? * (6) 打印生活在剑桥的交易员的所有交易额。 * (7) 所有交易中,最高的交易...原创 2018-10-19 19:14:45 · 280 阅读 · 0 评论 -
第4篇 stream---规约
/** * 规约 */public class Demo04 { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9); test01(numbers); test0...原创 2018-10-19 18:46:00 · 309 阅读 · 0 评论 -
第3篇 stream ----查找和匹配
/** * 查找和匹配:(filter 和map的加强) * 另一个常见的数据处理套路是看看数据集中的某些元素是否匹配一个给定的属性。Stream * API通过allMatch、anyMatch、noneMatch、findFirst和findAny方法提供了这样的工具。 */public class Dem03Match { public static void main(...原创 2018-10-19 17:46:59 · 758 阅读 · 0 评论 -
java 8 第17篇 计算1-n数字之和
** * 顺序流转为并行流: * 举例: * 计算1-n数字之和 */public class SeqTransformParallelDemo01 { public static void main(String[] args) { //普通的方法 System.out.println(test01(10)); //java 8...原创 2018-11-07 16:56:05 · 1467 阅读 · 0 评论