〇.总结 Stream流的方法:forEach.filter.map.count.limit.skip.concat(结合之前的Collectors接口) 方法引用:Lambda的其他类方法体相同,如System.out:println 一.Stream流 java.util.stream.Stream<T> 1.概述及传统方式 与IO流不同,用于简化集合和数组的操作,解决现有类库的弊端 传统方式遍历集合(逐一处理):for循环.for-each.Iterator迭代器 package com…
前言 本篇主要讲述是Java中JDK1.8的一些新语法特性使用,主要是Lambda.Stream和LocalDate日期的一些使用讲解. Lambda Lambda介绍 Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数. Lambda表达式的结构 一个 Lambda 表达式可以有零个或多个参数 参数的类型既可以明确声明,也…
Stream流 函数式接口 1.消费型接口--Consumer @FunctionalInterface public interface Consumer<T> { /** * 对给定的参数执行此操作. * * @param t 输入参数 */ void accept(T t); /** * 返回一个组合的Consumer , Consumer执行该操作,后跟after操作. 如果执行任一操作会抛出异常, * 它将被转发到组合操作的调用者. 如果执行此操作抛出一个异常, after操作将不被…
1.Stream流的定义 Stream是Java中的一个接口.它的作用类似于迭代器,但其功能比迭代器强大,主要用于对数组和集合的操作. Stream中的流式思想:每一步只操作,不存储. 2.Stream流的获取 可以获取Stream流的有数组和集合.对于数组而言,获取Stream流的方式如下: StreamMethodCount of(数组) 代码示例: //数组变为Stream流 int[] arr={1,2,3,4,5,6,7}; Stream<int[]> stream = Stream…
三.布局管理器 Swing中,每个组件在容器中都有一个具体的位置和大小,在容器中摆放各自组件时很难判断其具体位置和大小,这里我们就要引入布局管理器了,它提供了基本的布局功能,可以有效的处理整个窗体的布局.常用的布局管理器包括流布局管理器.边界布局管理器.网格布局管理器等. 1. 绝对布局 绝对布局在上一篇的例子中已经出现过了,是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置.步骤如下: (1)使用Container.setLayout(null)方法取消布局管理器 (2…
半年前开始试着使用Java的新特性,给我印象最深的就是Stream流和Optional.其中Stream提高了看法效率,让代码看起来十分清爽. 为什么要使用流? 摘要中已经说明了,为了提高开发效率.流可以帮助我们高效操作集合,流帮助我们通过流水线的方式对集合进行删减.合并.排序.修改,并最终返回我们想要的元素数据或统计数据.流水线的意思是说,一批元素不需要等待全部元素都完成某步操作,才进行下步操作,而是可以尽早进行下步操作,就好像流水线工厂一样,这为流高效运作提供了基础.流还有一个内部迭代的概念…
函数式接口 函数接口为lambda表达式和方法引用提供目标类型,就是提供支持的接口里面只有且必须只有一个抽象方法, 如果接口只有一个抽象方法,java默认他为函数式接口 @FunctionalInterfafce注解限定只能有一个抽象方法 一个函数式接口有且只有一个抽象方法. 默认方法不是抽象方法,因为它们已经实现了. 重写了超类Object类中任意一个public方法的方法并不算接口中的抽象方法. @FunctionalInterface规定重写了超类Object类中的任意一个public方法…
Swing是GUI(图形用户界面)开发工具包,内容有很多,这里会分块编写,但在进阶篇中只编写Swing中的基本要素,包括容器.组件和布局等,更深入的内容会在高级篇中出现.想深入学习的朋友们可查阅有关资料或图书,比如<Java Swing图形界面开发与案例详解>--清华大学出版社. 早期的AWT(抽象窗口工具包)组件开发的图形用户界面,要依赖本地系统,当把AWT组件开发的应用程序移植到其他平台的系统上运行时,不能保证其外观风格,因此AWT是依赖于本地系统平台的.而使用Swing开发的Java应用…
前几篇是Java的入门篇,主要是了解一下Java语言的相关知识,从本篇开始是Java的进阶篇,这部分内容可以帮助大家用Java开发一些小型应用程序,或者一些小游戏等等. 本篇的主题是接口.继承与多态,在看下面的内容之前,首先需要了解一下继承和多态.继承机制的使用可以复用一些定义好的类,减少重复代码的编写:多态机制的使用可以动态调整对象的调用,降低对象之间的依存关系.有了这些概念,再来看接口是做什么用的. 一.接口 首先我们需要知道,Java语言只支持单重继承,不支持多继承.这句话的意思就是一个类…
前言 在上一篇中我们学习了结构型模式的外观模式和装饰器模式.本篇则来学习下组合模式和过滤器模式. 组合模式 简介 组合模式是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式,它创建了对象组的树形结构. 简单来说的话,就是根据树形结构把相似的对象进行组合,然后表示该部分是用来做啥的.在中有个很形象的例子,就是电脑中的 文件系统. 文件系统由目录和文件组成.每个目录都可以装内容.目录的内容可以是文件,也可以是目录.按照…