当前位置: 首页 > news >正文

哈尔滨网站制作招聘百度收录网站入口

哈尔滨网站制作招聘,百度收录网站入口,手机网站域名和pc域名的区别,如何不花钱做网站java学习 一.Stream流 (一.)概念: Stream将要处理的元素集合看作一种流#xff0c;在流的过程中#xff0c;借助Stream API对流中的元素进行操作#xff0c;比如#xff1a;筛选、排序、聚合等。Stream流是对集合#xff08;Collection#xff09;对象功能的增强…java学习 一.Stream流 (一.)概念: Stream将要处理的元素集合看作一种流在流的过程中借助Stream API对流中的元素进行操作比如筛选、排序、聚合等。Stream流是对集合Collection对象功能的增强与Lambda表达式结合可以提高编程效率、间接性和程序可读性。 特点: stream不存储数据而是按照特定的规则对数据进行计算一般会输出结果。stream不会改变数据源通常情况下会产生一个新的集合或一个值。stream具有延迟执行特性只有调用终端操作时中间操作才会执行。 (二.)Stream的创建 1.Collection集合创建 ListInteger integerList new ArrayList(); Collection.addAll(integerList,1,2,3,4,5); StreamInteger listStream integerList.stream(); 2.Stream创建对象 ListString list new ArrayList(); StreamString stream list.stream(); //串行流 StreamString parallelStream list.parallelStream(); //并行流3.Arrays数组创建 int[] Arr {1, 2, 3, 4, 5}; IntStream arrayStream Arrays.stream(Arr); (三.)操作符 1.中间操作符 中间操作会返回一个新的流一个流可以后面跟随零个或多个中间操作。其目的主要是打开流做出某种程度的数据映射/过滤然后会返回一个新的流交给下一个操作使用。这类操作都是惰性化的lazy就是说仅仅调用到这类方法并没有真正开始流的遍历。而是在终结操作开始的时候才真正开始执行。 public class stream4 {public static void main(String[] args) {//中间方法,返回新的steam流,原来的stream流只能使用一次//修改stream流中的数据,不会改变原来集合中的元素ArrayListString listnew ArrayList();Collections.addAll(list,张三,张三疯,喜洋洋,美洋洋,柳如烟,李四);//1.filter 过滤作用list.stream().filter(s-s.startsWith(张)).filter(s-s.length()3).forEach(s- System.out.println(s));System.out.println(--------------------------------);//2.skip 跳过元素list.stream().skip(3).forEach(s- System.out.println(s));System.out.println(--------------------------------);//3.limit 获取前几个元素list.stream().limit(3).forEach(s- System.out.println(s));System.out.println(--------------------------------);//4.获取中间的两元素的方法://1.仙截取后跳过list.stream().limit(4).skip(2).forEach(s- System.out.println(s));System.out.println(--------------------------------);//2.仙跳过后截取list.stream().skip(2).limit(2).forEach(s- System.out.println(s));System.out.println(--------------------------------);} } 运行结果: 2.终结操作符 终结操作是指返回最终的结果。一个流只能有一个终结操作当这个操作执行后这个流就被使用“光”了无法再被操作。所以这必定这个流的最后一个操作。只有终结操作执行的时候才会真正开始流的遍历并且会生成一个结果。 (四.)使用实例 要求将一组数据中,对大于一定年龄的人放入到map集合中,并进行输出 public class TEXT2 {public static void main(String[] args) {ArrayListString listnew ArrayList();Collections.addAll(list,张三,12,李四,15,王五,16);//匿名内部类的写法MapString, Integer map list.stream().filter(s - Integer.parseInt(s.split(,)[1]) 15).collect(Collectors.toMap(new FunctionString, String() {Overridepublic String apply(String s) {return s.split(,)[0];}}, new FunctionString, Integer() {Overridepublic Integer apply(String s) {return Integer.parseInt(s.split(,)[1]);}}));System.out.println(map);System.out.println(---------------------------);//lambda表达式写法MapString, String map2 list.stream().filter(s - Integer.parseInt(s.split(,)[1]) 15).collect(Collectors.toMap(s - s.split(,)[1],s - s.split(,)[0]));System.out.println(map2);System.out.println(----------------------------);} } 运行结果: 二.方法引用 (一.)方法引用的概念和规则 方法引用:把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体. 方法引用的规则: 1.需要具有函数式接口 2.被引用的方法必须存在. 3.被引用的方法和返回值和形参与抽象方法一致. 4.被引用方法的功能要满足当前需求. (二.)引用静态方法 格式:类名::静态方法 引用类方法其实就是引用类的静态方法 public class yinyong {public static void main(String[] args) {ArrayListString list new ArrayList();Collections.addAll(list,1,2,3,15564222,126);list.stream().map(new FunctionString, Integer() {Overridepublic Integer apply(String s) {Integer i Integer.parseInt(s);return i;}}).forEach(s- System.out.println(s));System.out.println(-------------------);//1.方法需要已经存在//2.方法的形参和返回值需要跟抽象方法的形参和返回值一样//3.方法的功能需要吧形参的字符串转换成整数list.stream().map(Integer::parseInt).forEach(s- System.out.println(s));} } (三).引用成员方法 格式:对象::成员方法 引用对象的实例方法其实就引用类中的成员方法 public class StringOperation {public boolean stringJudge(String s) {return s.startsWith(张);} }public class yinyong2 {public static void main(String[] args) {ArrayListString list new ArrayList();Collections.addAll(list,张三,李四,王五,张飞,客小二);//通过在其他类中进行引用//先创建对象,在进行引用list.stream().filter(new StringOperation()::stringJudge).forEach(s- System.out.println(s));} } (四.)引用构造器 格式:类名::构造方法 (注意构造方法中的形参必须和抽象方法保持一致) public class Student {private String name;private int age;public Student(String s) {String[] arrs.split(,);this.namearr[0];this.ageInteger.parseInt(arr[1]);}public Student(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;} }public class yinyong3 {public static void main(String[] args) {ArrayListString listnew ArrayList();Collections.addAll(list,张三,15,李四,16,王五,17);ListStudent cc list.stream().map(Student::new).collect(Collectors.toList());System.out.println(cc);} }
http://www.hkea.cn/news/14357548/

相关文章:

  • 个人网站的基本风格怎么做英文版的网站
  • 百度怎么做网站域名电商网站开发技术
  • 石材石料网站搭建教程wordpress网页不存在
  • 网站建设在什么税控盘广州门户网站开发
  • 北京建站开发.net做的网站
  • 网站页脚怎么做美观想学做宝宝食谱上什么网站
  • 网站的流程上海市网站信息无障碍建设
  • 手机网站封装用户体验wordpress属于源码吗
  • 我做的网站平台百度搜不到科技公司网站建设
  • 用软件建网站网站免费正能量直接进入老狼
  • 公司做网站的招标书西安网站建设王永杰
  • 无锡营销型网站建站微信下安装
  • 网站开发天津沈阳定制网红小熊
  • 网站seo在哪里设置黑河做网站公司
  • 网站开发指的是什么手机网页版网站开发
  • 网站建设新闻发布注意什么做微商能利用的网站有哪些问题
  • 为什么大家用wordpress建网站电子工程网介绍
  • 做韩国网站有哪些中国设计院全国排名
  • 网站建设 app 优化全国公路建设信用网站
  • 无版权图片网站getpage wordpress使用详解
  • 自己做免费手机网站吗网络营销难不难学
  • 租车网站系统规划国外文本排版设计网站
  • 厦门专业做网站湖州建设培训入口网站
  • 亦庄公司做网站网站首页策划
  • 西安网站建设外包长春网站建设模板制作
  • 最炫的网站期货直播室网站建设
  • 中国旅游网站排名天津seo数据监控
  • 做视频网站需要多大空间网站不绑定域名解析
  • 专题网站建设策划方案网站建设策略营销
  • 天津网站建设定制东营建设信息网站电话