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

河源市网站建设_网站建设公司_域名注册_seo优化

高校网站建设与管理问题分析,腾讯企点有风险吗,小说网站建设模板下载,广东省住房和城乡建设局网站Stream 什么是Stream流#xff1f; 在Java 8中#xff0c;得益于Lambda所带来的函数式编程#xff0c; 引入了一个全新的Stream流概念 #xff0c;用于解决已有集合/数组类库有的弊端。 Stream流能解决什么问题? 可以解决已有集合类库或者数组API的弊端。 Stream认为集合…Stream 什么是Stream流 在Java 8中得益于Lambda所带来的函数式编程 引入了一个全新的Stream流概念 用于解决已有集合/数组类库有的弊端。 Stream流能解决什么问题? 可以解决已有集合类库或者数组API的弊端。 Stream认为集合和数组操作的API很不好用所以采用了Stream流简化集合和数组的操作 小结 Stream流是用来简化集合类库或者数组API的弊端。 Stream流其实就一根传送带元素在上面可以被Stream流操作。 需求从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。 传统写法 public class StreamDemo01 {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);//1.找姓张的人ListString Z_list new ArrayList();for (String s : list) {if(s.startsWith(张)){Z_list.add(s);}}System.out.println(Z_list);//2.姓名长度为3ListString Z_Long_list new ArrayList();for (String s : Z_list) {if(s.length() 3) Z_Long_list.add(s);}System.out.println(Z_Long_list);} }Stream流写法 public class StreamDemo01 {public static void main(String[] args) {//需求从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).forEach(System.out::println);} }如上见得stream基于函数式编程,更加简单 他的限制流filter可以链式编程最后遍历 Stream流的获取 Stream流式思想的核心 先得到集合或者数组的Stream流就是一根传送带然后就用这个Stream流操作集合或者数组的元素。然后用Stream流简化替代集合操作的API. 集合获取流的API: (1) default Stream stream(); 小结 集合获取Stream流用: stream(); 数组Arrays.stream(数组) / Stream.of(数组); public class StreamDemo01 {public static void main(String[] args) {/** --------------------Collection集合获取流------------------------------- */// Collection集合如何获取Stream流。CollectionString c new ArrayList();StreamString ss c.stream();/** --------------------Map集合获取流------------------------------- */MapString, Integer map new HashMap();// 先获取键的Stream流。StreamString keyss map.keySet().stream();// 在获取值的Stream流StreamInteger valuess map.values().stream();// 获取键值对的Stream流keyvalue Map.EntryString,IntegerStreamMap.EntryString,Integer keyAndValues map.entrySet().stream();/** ---------------------数组获取流------------------------------ */// 数组也有Stream流。String[] arrs new String[]{Java, JavaEE ,Spring Boot};StreamString arrsSS1 Arrays.stream(arrs);StreamString arrsSS2 Stream.of(arrs);} }Stream的常用API forEach : 逐一处理(遍历) count统计个数 – long count(); filter : 过滤元素 – Stream filter(Predicate? super T predicate) limit : 取前几个元素 skip : 跳过前几个 map : 加工方法 concat : 合并流。 public class StreamDemo03 {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);//遍历foreachlist.stream().filter(s - s.length() 3).filter(s - s.startsWith(张)).forEach(System.out::println);//统计个数countlong count list.stream().filter(s - s.length() 3).filter(s - s.startsWith(张)).count();System.out.println(count);//取前几个list.stream().filter(s - s.length() 3).limit(2).forEach(System.out::println);//跳过前几个list.stream().filter(s - s.length() 3).skip(2).forEach(System.out::println);//map方法(映射)加工方法 将原元素加工后放上去/*将所有名称都加上小小的……*/list.stream().map(s - 小小的 s).forEach(System.out::println);/*将名称都加工成学生对象*///list.stream().map(s - new Student(s)).forEach(System.out::println);list.stream().map(Student::new).forEach(System.out::println);//构造器引用/*** concat合并流*///数组流StreamInteger s1 Stream.of(10,20,30,40);//集合流StreamString s2 list.stream();//合并流 类型不同可用Object接 只能两两合并StreamObject allStream Stream.concat(s1,s2);allStream.forEach(System.out::println);} } 综合案例 public class StreamDemo04 {public static void main(String[] args) {ListString one new ArrayList();one.add(迪丽热巴);one.add(宋远桥);one.add(苏星河);one.add(老子);one.add(庄子);one.add(孙子);one.add(洪七公);ListString two new ArrayList();two.add(古力娜扎);two.add(张无忌);two.add(张三丰);two.add(赵丽颖);two.add(张二狗);two.add(张天爱);two.add(张三);/*** 1. 第一个队伍只要名字为3个字的成员姓名* 2. 第一个队伍筛选之后只要前3个人*/StreamString oneStream one.stream().filter(s - s.length() 3).limit(3);/*** 3. 第二个队伍只要姓张的成员姓名* 4. 第二个队伍筛选之后不要前2个人* 5. 将两个队伍合并为一个队伍*/StreamString twoStream two.stream().filter(s - s.startsWith(张)).skip(2);StreamString allStream Stream.concat(oneStream,twoStream);/*** 6. 根据姓名创建Student对象 (加工)* 7. 打印整个队伍的Student对象信息。*/allStream.map(Student::new).forEach(System.out::println);} }Stream终结与非终结方法 终结方法一旦Stream调用了终结方法流的操作就全部终结了不能继续使用 只能创建新的Stream操作。 终结方法 foreach , count。 非终结方法每次调用完成以后返回一个新的流对象, 可以继续使用支持链式编程 public class StreamDemo {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);// foreach终结方法list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).forEach(System.out::println);long count list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).count();System.out.println(count);} }收集Stream流 引入 Stream的作用是把集合转换成一根传送带借用Stream流的强大功能进行的操作。但是实际开发中数据最终的形式还是应该是集合最终Stream流操作完毕以后还是要转换成集合。这就是收集Stream流。 收集Stream流的含义就是把Stream流的数据转回到集合中去。 Stream流手段。 集合才是目的。 小结 收集Stream流的含义就是把Stream流的数据转回到集合中去。 熟练函数式编程如Lambda表达式简化函数式接口的匿名内部类形式以及四种方法引用简化Lambda表达式以及流式编程思想如Stream简化集合或者数组的操作。 public class StreamDemo {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);StreamString zhangLists list.stream().filter(s - s.startsWith(张));// 把stream流转换成Set集合。SetString sets zhangLists.collect(Collectors.toSet());System.out.println(sets);// 把stream流转换成List集合。StreamString zhangLists1 list.stream().filter(s - s.startsWith(张));ListString lists zhangLists1.collect(Collectors.toList());System.out.println(lists);// 把stream流转换成数组。StreamString zhangLists2 list.stream().filter(s - s.startsWith(张));Object[] arrs zhangLists2.toArray();// 可以借用构造器引用申明转换成的数组类型String[] arrs1 zhangLists2.toArray(String[]::new);} }
http://www.lebaoying.cn/news/10403.html

相关文章:

  • 吉林省建设部网站项目设计说明书模板
  • 电子商务网站的建设心得体会wordpress 评论点赞
  • 漯河企业网站建设公司校园网站建设管理及责任表
  • 苏省住房和城乡建设厅网站首页安康信息平台
  • 上线了做的网站怎么办房地产营销网站建设
  • 北京住房与建设部网站凡客和凡客诚品一样吗
  • 2023免费网站推广大全石家庄网站模板建站
  • 贵州省建设厅网站造价工程信息文创产品设计稿
  • 智能路由器 建网站新闻发布会主题
  • asp网站伪静态规则用仿网站做优化有效果吗
  • 商城网站开发平台双流海外网络推广
  • 东莞网站建设(推荐乐云践新)东莞网站设计建设
  • 手机网站页面文字做多大怎么自己做一个公众号
  • 网站需要每个城市做推广吗深圳的软件公司
  • 请将已备案网站接入访问素材网网站建设
  • 做本地旅游网站cms页面
  • 东莞市做网站的如何做网站图片
  • 西安企业做网站微商分销平台
  • 装饰logo设计图片资源优化网站排名
  • 徐州营销型网站制使四川禾力建设工程质量检测有限公司网站
  • 0基础自学做网站微网站模板代码
  • 做网站的内容资源做58同城网站花了多少钱
  • 天津专业做网站的公司有哪些网页版qq登录界面
  • WordPress建站怎么交付金融手机网站开发
  • 那个视频网站做公开课比较好九创wordpress
  • 网页和网站有什么区别青羊区建设厅网站
  • 秦皇岛网站建公司徐州哪有做网站的
  • 开先建设集团网站三维设计软件有哪些
  • 为什么自己做的网站打开是乱码网站开发记入什么会计科目
  • 平湖市网站建设公司网站建设 公司简介怎么写