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

网站建设公司的成本有哪些内容wordpress admin空白

网站建设公司的成本有哪些内容,wordpress admin空白,建设部网站施工合同,wordpress获取文章发布时间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.zqtcl.cn/news/272418/

相关文章:

  • 2015年做那个网站致富wordpress最新模板
  • 做网站开发平台北京广告公司有哪些
  • 郑州企业建站系统模板兰州需要做网站的公司有哪些
  • 怎样做网站卖东西 自己有货句容网络公司
  • 网站建设协议书 保密条款免费发布推广的网站
  • 网站首页外链上海网站建设联系方式
  • 陕西网站建设优化技术2023年1月热点新闻事件
  • 广东省建设银行招聘网站免费搭建个人网站
  • 知名商城网站建设公司wordpress主题 汉化
  • 网站上线做什么pc网站如何做移动适配
  • wap网站搭建北京北京网站建设
  • 放心的网站设计制作免费做logo设计的网站
  • 温州专业手机网站制作多少钱移动商城 网站建设方法方式
  • 周口网站开发wordpress
  • 如何查网站的备案号玉环在哪里做网站
  • 网站开发什么叫前端后端seo研究中心晴天
  • 邢台建筑类的建设网站代刷网站只做软件下载
  • 关于旅游的网站建设目的食品网站建设的目的
  • 开发php网站开发太湖网站建设推荐秒搜科技
  • 90设计网站怎么绑定手机号淘宝搜索排名
  • 无锡自助做网站哪些编程语言适合网站开发
  • 蒲城网站建设wzjseo北京专业推广公司
  • 阳春做网站外贸建站推广公司
  • 哪个网站的课件做的好源码之家关闭了
  • 各大网站热搜榜排名嵊州网站
  • 在哪找做网站的镇江网页设计工作室
  • 做网站的是干嘛的百度推广的几种方式
  • 临沧网站建设用eclipse做jsp网站
  • 做物流运输网站电话做网站看
  • 山东公司网站推广优化什么网站做宣传好