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

昆明网站建设流程php管理系统

昆明网站建设流程,php管理系统,安徽六安发现一例新冠阳性检测者,人力外包和劳务派遣哪个更好一些1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合#xff0c;存储多个字符串元素 把集合中所有以张开头的元素存储到一个新的集合 把张开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得…1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合存储多个字符串元素 把集合中所有以张开头的元素存储到一个新的集合 把张开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到的集合 原始方式示例代码 public class MyStream1 {public static void main(String[] args) {//集合的批量添加ArrayListString list1 new ArrayList(List.of(张三丰,张无忌,张翠山,王二麻子,张良,谢广坤));//list.add()//遍历list1把以张开头的元素添加到list2中。ArrayListString list2 new ArrayList();for (String s : list1) {if(s.startsWith(张)){list2.add(s);}}//遍历list2集合把其中长度为3的元素再添加到list3中。ArrayListString list3 new ArrayList();for (String s : list2) {if(s.length() 3){list3.add(s);}}for (String s : list3) {System.out.println(s);} } } 使用Stream流示例代码 public class StreamDemo {public static void main(String[] args) {//集合的批量添加ArrayListString list1 new ArrayList(List.of(张三丰,张无忌,张翠山,王二麻子,张良,谢广坤));//Stream流list1.stream().filter(s-s.startsWith(张)).filter(s-s.length() 3).forEach(s- System.out.println(s));} } Stream流的好处 直接阅读代码的字面意思即可完美展示无关逻辑方式的语义获取流、过滤姓张、过滤长度为3、逐一打印 Stream流把真正的函数式编程风格引入到Java中 代码简洁 1.2Stream流的常见生成方式【应用】 Stream流的思想 Stream流的三类方法 获取Stream流 创建一条流水线,并把数据放到流水线上准备进行操作 中间方法 流水线上的操作 一次操作完毕之后,还可以继续进行其他操作 终结方法 一个Stream流只能有一个终结方法 是流水线上的最后一个操作 生成Stream流的方式 Collection体系集合 使用默认方法stream()生成流 default StreamE stream() Map体系集合 把Map转成Set集合间接的生成流 数组 通过Arrays中的静态方法stream生成流 同种数据类型的多个数据 通过Stream接口的静态方法of(T... values)生成流 代码演示 public class StreamDemo {public static void main(String[] args) {//Collection体系的集合可以使用默认方法stream()生成流ListString list new ArrayListString();StreamString listStream list.stream();SetString set new HashSetString();StreamString setStream set.stream();//Map体系的集合间接的生成流MapString,Integer map new HashMapString, Integer();StreamString keyStream map.keySet().stream();StreamInteger valueStream map.values().stream();StreamMap.EntryString, Integer entryStream map.entrySet().stream();//数组可以通过Arrays中的静态方法stream生成流String[] strArray {hello,world,java};StreamString strArrayStream Arrays.stream(strArray);//同种数据类型的多个数据可以通过Stream接口的静态方法of(T... values)生成流StreamString strArrayStream2 Stream.of(hello, world, java);StreamInteger intStream Stream.of(10, 20, 30);} } 1.3Stream流中间操作方法【应用】 概念 中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作 常见方法 方法名说明StreamT filter(Predicate predicate)用于对流中的数据进行过滤StreamT limit(long maxSize)返回此流中的元素组成的流截取前指定参数个数的数据StreamT skip(long n)跳过指定参数个数的数据返回由该流的剩余元素组成的流static T StreamT concat(Stream a, Stream b)合并a和b两个流为一个流StreamT distinct()返回由该流的不同元素根据Object.equals(Object) 组成的流 filter代码演示 public class MyStream3 {public static void main(String[] args) { // StreamT filter(Predicate predicate)过滤 // Predicate接口中的方法 boolean test(T t)对给定的参数进行判断返回一个布尔值ArrayListString list new ArrayList();list.add(张三丰);list.add(张无忌);list.add(张翠山);list.add(王二麻子);list.add(张良);list.add(谢广坤);//filter方法获取流中的 每一个数据.//而test方法中的s,就依次表示流中的每一个数据.//我们只要在test方法中对s进行判断就可以了.//如果判断的结果为true,则当前的数据留下//如果判断的结果为false,则当前数据就不要. // list.stream().filter( // new PredicateString() { // Override // public boolean test(String s) { // boolean result s.startsWith(张); // return result; // } // } // ).forEach(s- System.out.println(s));//因为Predicate接口中只有一个抽象方法test//所以我们可以使用lambda表达式来简化 // list.stream().filter( // (String s)-{ // boolean result s.startsWith(张); // return result; // } // ).forEach(s- System.out.println(s));list.stream().filter(s -s.startsWith(张)).forEach(s- System.out.println(s));} } limitskip代码演示 public class StreamDemo02 {public static void main(String[] args) {//创建一个集合存储多个字符串元素ArrayListString list new ArrayListString();list.add(林青霞);list.add(张曼玉);list.add(王祖贤);list.add(柳岩);list.add(张敏);list.add(张无忌);//需求1取前3个数据在控制台输出list.stream().limit(3).forEach(s- System.out.println(s));System.out.println(--------);//需求2跳过3个元素把剩下的元素在控制台输出list.stream().skip(3).forEach(s- System.out.println(s));System.out.println(--------);//需求3跳过2个元素把剩下的元素中前2个在控制台输出list.stream().skip(2).limit(2).forEach(s- System.out.println(s));} } concatdistinct代码演示 public class StreamDemo03 {public static void main(String[] args) {//创建一个集合存储多个字符串元素ArrayListString list new ArrayListString();list.add(林青霞);list.add(张曼玉);list.add(王祖贤);list.add(柳岩);list.add(张敏);list.add(张无忌);//需求1取前4个数据组成一个流StreamString s1 list.stream().limit(4);//需求2跳过2个数据组成一个流StreamString s2 list.stream().skip(2);//需求3合并需求1和需求2得到的流并把结果在控制台输出 // Stream.concat(s1,s2).forEach(s- System.out.println(s));//需求4合并需求1和需求2得到的流并把结果在控制台输出要求字符串元素不能重复Stream.concat(s1,s2).distinct().forEach(s- System.out.println(s));} } 1.4Stream流终结操作方法【应用】 概念 终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作 常见方法 方法名说明void forEach(Consumer action)对此流的每个元素执行操作long count()返回此流中的元素数 代码演示 public class MyStream5 {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(张三丰);list.add(张无忌);list.add(张翠山);list.add(王二麻子);list.add(张良);list.add(谢广坤);//method1(list);// long count()返回此流中的元素数long count list.stream().count();System.out.println(count);}private static void method1(ArrayListString list) {// void forEach(Consumer action)对此流的每个元素执行操作// Consumer接口中的方法void accept(T t)对给定的参数执行此操作//在forEach方法的底层,会循环获取到流中的每一个数据.//并循环调用accept方法,并把每一个数据传递给accept方法//s就依次表示了流中的每一个数据.//所以,我们只要在accept方法中,写上处理的业务逻辑就可以了.list.stream().forEach(new ConsumerString() {Overridepublic void accept(String s) {System.out.println(s);}});System.out.println();//lambda表达式的简化格式//是因为Consumer接口中,只有一个accept方法list.stream().forEach((String s)-{System.out.println(s);});System.out.println();//lambda表达式还是可以进一步简化的.list.stream().forEach(s-System.out.println(s));} } 1.5Stream流的收集操作【应用】 概念 对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中 常用方法 方法名说明R collect(Collector collector)把结果收集到集合中 工具类Collectors提供了具体的收集方式 方法名说明public static T Collector toList()把元素收集到List集合中public static T Collector toSet()把元素收集到Set集合中public static Collector toMap(Function keyMapper,Function valueMapper)把元素收集到Map集合中 代码演示 // toList和toSet方法演示 public class MyStream7 {public static void main(String[] args) {ArrayListInteger list1 new ArrayList();for (int i 1; i 10; i) {list1.add(i);}list1.add(10);list1.add(10);list1.add(10);list1.add(10);list1.add(10);//filter负责过滤数据的.//collect负责收集数据.//获取流中剩余的数据,但是他不负责创建容器,也不负责把数据添加到容器中.//Collectors.toList() : 在底层会创建一个List集合.并把所有的数据添加到List集合中.ListInteger list list1.stream().filter(number - number % 2 0).collect(Collectors.toList());System.out.println(list);SetInteger set list1.stream().filter(number - number % 2 0).collect(Collectors.toSet());System.out.println(set); } } /** Stream流的收集方法 toMap方法演示 创建一个ArrayList集合并添加以下字符串。字符串中前面是姓名后面是年龄 zhangsan,23 lisi,24 wangwu,25 保留年龄大于等于24岁的人并将结果收集到Map集合中姓名为键年龄为值 */ public class MyStream8 {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(zhangsan,23);list.add(lisi,24);list.add(wangwu,25);MapString, Integer map list.stream().filter(s - {String[] split s.split(,);int age Integer.parseInt(split[1]);return age 24;}// collect方法只能获取到流中剩余的每一个数据.//在底层不能创建容器,也不能把数据添加到容器当中//Collectors.toMap 创建一个map集合并将数据添加到集合当中// s 依次表示流中的每一个数据//第一个lambda表达式就是如何获取到Map中的键//第二个lambda表达式就是如何获取Map中的值).collect(Collectors.toMap(s - s.split(,)[0],s - Integer.parseInt(s.split(,)[1]) ));System.out.println(map);} } 1.6Stream流综合练习【应用】 案例需求 现在有两个ArrayList集合分别存储6名男演员名称和6名女演员名称要求完成如下的操作 男演员只要名字为3个字的前三人 女演员只要姓林的并且不要第一个 把过滤后的男演员姓名和女演员姓名合并到一起 把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据 演员类Actor已经提供里面有一个成员变量一个带参构造方法以及成员变量对应的get/set方法 代码实现 演员类 public class Actor {private String name;public Actor(String name) {this.name name;}public String getName() {return name;}public void setName(String name) {this.name name;} } 测试类 public class StreamTest {public static void main(String[] args) {//创建集合ArrayListString manList new ArrayListString();manList.add(周润发);manList.add(成龙);manList.add(刘德华);manList.add(吴京);manList.add(周星驰);manList.add(李连杰);ArrayListString womanList new ArrayListString();womanList.add(林心如);womanList.add(张曼玉);womanList.add(林青霞);womanList.add(柳岩);womanList.add(林志玲);womanList.add(王祖贤);//男演员只要名字为3个字的前三人StreamString manStream manList.stream().filter(s - s.length() 3).limit(3);//女演员只要姓林的并且不要第一个StreamString womanStream womanList.stream().filter(s - s.startsWith(林)).skip(1);//把过滤后的男演员姓名和女演员姓名合并到一起StreamString stream Stream.concat(manStream, womanStream);// 将流中的数据封装成Actor对象之后打印stream.forEach(name - {Actor actor new Actor(name);System.out.println(actor);}); } }
http://www.dnsts.com.cn/news/140674.html

相关文章:

  • 新公司注册网站抓取网站访客qq号码
  • 网站的注册为我们搭建了这么好的平台
  • 怎么把做的网站传网站是哪个公司做
  • 一个好的网站建设产品经理兼职做网站报酬
  • 招聘网站开发的公司上海网站建设-目前企业网站所面临的困惑
  • 网站icp证明建设有限公司网站
  • 网站前台功能介绍房产网签备案是什么意思
  • 比较大气的企业网站网站模板的修改
  • 网站开发的地图接口wordpress扁平化中文主题
  • 网站建设框架搭建怎样建网站平台
  • 阳逻开发区网站建设中企动力做一晚水泥工歌曲网站
  • 品牌网站推广自己做的网站算广告吗
  • 163网易邮箱太原seo代理
  • 海南建设银行分行网站广州越秀公司网站建设
  • App网站建设 高品质网站建设专业做生鲜的网站
  • 柳州住房和城乡建设部网站无锡品牌网站建设
  • 婚庆公司网站php源码望野王绩朗诵
  • 东莞seo整站优化火速WordPress地址栏
  • php网站开发意思惠州网站建设制作推广
  • 在线做海报网站如何拿模板做网站
  • 网站用的空间广告公司名字
  • 网站百度排名怎么做快怎么样自己建设一个网站
  • 交易网站模板注册安全工程师含金量
  • 网站建设的相关技术推广恶意点击软件怎样使用
  • 鲜花网站建设源代码有没有做生物科技相关的网站
  • 浏览器如何做购物网站有关维护营销型网站建设的方法
  • 外贸网站开发哪家好个人可以做社区网站有哪些
  • 网站程序系统福建seo排名
  • 电子商务网站建设的一般流程中铁建工集团有限公司官网
  • 网站网页设计的意义wordpress后台怎么进的