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

深圳网站建设哪家强厦门网页设计代做

深圳网站建设哪家强,厦门网页设计代做,自动生成logo,哪些网站做物流推广好文章目录引入流流的操作中间操作终端操作流的使用谓词筛选筛选各异的元素流的切片截断流跳过元素映射流的扁平化查找和匹配归约元素求和、最大值和最小值数值流构建流由值构建流由数组创建流引入流 java api提供的一种利用声明式的方式处理数据集合的一个东西#xff0c;可以… 文章目录引入流流的操作中间操作终端操作流的使用谓词筛选筛选各异的元素流的切片截断流跳过元素映射流的扁平化查找和匹配归约元素求和、最大值和最小值数值流构建流由值构建流由数组创建流引入流 java api提供的一种利用声明式的方式处理数据集合的一个东西可以被看成一个高级迭代器 流的操作 流水线也就是很多流操作本身会返回一个流可以将多个操作连接起来形成一个更大的流 filter() :谓词过滤筛选出适合条件的实体sorted()对集合进行排序map()提取某项元素collect()将流转换为其它形式limit()截断流是元素不超过给定数量流的迭代是内部迭代外部迭代一般是有程序员控制的迭代foreach就属于外部迭代并且流只能遍历一次 中间操作 像filter、sorted等都会生成一个流中间操作也就是会将这些流合并成一个流这个东西也叫做合并循环 终端操作 终端操作会从流水线生成结果其结果是任何不是流的值比如List、Integer、void等 //forEach会返回void的终端操作 menu.stream().forEach(System.out.println);流的使用 谓词筛选 因为流支持filter操作filter是属于行为参数化的可以通过谓词来筛选出我们需要的元素 筛选各异的元素 流可以使用distinct()方法它会返回一个各异元素的流(底层是通过hashcode和equals()实现) 流的切片 takewhile(): filter()会把所有的元素都过一遍如果数据量过大速度会非常慢takewhile()当遇到不符合的元素会停止处理大大节约了时间dropwhile()dropwhile()是对takewhile()的补充它会丢弃掉谓词为false的元素当谓词为true它会停止处理并返回谓词为false的元素 截断流 上面提到了对流进行截断返回给定数量的元素 跳过元素 skip(n)跳过给定数量的元素如果 n 大于元素个数则会返回一个空的流 映射 映射是指map()操作它会返回我们指定的元素属性 流的扁平化 flatMap()的作用是各个数组并不是分别映射成一个流而是映射成流的内容 例子: 给定一个单词表[Hello, World], 想要返回列表[H, e, l, o, W, r, d]第一次尝试:word.stream().map(item-item.split( )).distinct().toCollect()map(item-item.split())的返回结果是StreamString[],我们需要的是StreamString,distinct操作并不能形成我们想要的结果第二次尝试:word.stream().map(item-item.split( )).map(Arrays::stream).distinct().collect()map(Arrays::stream)是将每一个数组变为一个流并不能达到我们要的结果第三次尝试:word.stream().map(item-item.split( )).flatMap(Arrays::stream).distinct().collect()flatMap(Arrays::stream)会将每一个数组的内容分别映射为流的内容然后将流合并形成一个流在进行distinct()就可以达到效果查找和匹配 常见的数据处理的套路是看数据集中的某些元素是否匹配一个给定的元素Stream Api通过allMatch、anyMatch、noneMatch、findFirst和findAny实现 anyMatch()流中是否有一个元素能匹配给定的谓词noneMatch()所有元素是否匹配给定的谓词noneMatch()确保没有元素与给定的谓词匹配findAny()返回当前流的任意元素findFirst()指定流中元素的出现顺序 Optional:一般用来处理空指针异常的允许程序中出现null了一般来说查询的返回结果可以给一个OptionalisPresent():有值返回true没有值返回falseifPresent(ConsumerT block): 会在存在值的时候执行代码块get(T other): 会在值存在时返回值不存在值抛出异常orElse(): 存在值就返回值不存在值就返回一个默认值归约 将流中的元素反复结合起来得到一个值这样的操作叫做归约操作归约的优势在于内部迭代和并行化并行化就是将stream()变为parallelStream() reduce(初始值一般为0 需要的操作) int sum numbers.stream().reduce(0, Integer::sum); //无初始值的情况 OptionalInteger sum numbers.stream().reduce((a,b)- (ab));元素求和、最大值和最小值 OptionalInteger sum numbers.stream().reduce(0, Integer::sum); OptionalInteger max numbers.stream().reduce(Integer:max); OptionalInteger min numbers.stream().reduce(Integer:min);数值流 mapToInt(): 返回一个IntStream()mapToDouble()返回一个DoubleStream()OptionalInt 的默认值是0用来求和还行求最大值不适用rangeClosed(1,100)是IntStream的一个方法可以规定数值范围 //使用归约求涉及到拆包的问题 int sum numbers.stream().reduce(0, Integer::sum); //map的返回值是Stream类,不行 OptionalInteger sum numbers.stream().map(类::方法).sum(); //maptoInt()的返回值是IntStream还支持max()、min()、average()等 OptionalInteger sum numbers.stream().mapToInt(类::方法).sum(); //使用orElse来指定OptionalInt的值,如果没有最大值显方式提供一个默认最大值 OptionalIntInteger test xxx; int max test.orElse(1);构建流 由值构建流 StreamString stream Stream.of(modern, java, In, Action); stream.map(String :: toUpperCase).forEach(System.out::println); //创建一个空的流 StreamString emptyStream Stream.empty();由数组创建流 int[] numbers {2, 3, 5, 7, 11, 13}; int sum Arrays.stream(numbers).sum();
http://www.hkea.cn/news/14367439/

相关文章:

  • 做电影网站资源哪里来的杭州网站设计询问蓝韵网络
  • 网站怎么做留言提交功能云猎建筑人才网
  • 梅州哪里做网站企业建设网站怎么做账
  • 慈溪企业排名网站中国移动积分兑换商城官方网站
  • 花钱人做的网站做好后算谁的莱芜二手房网
  • 一个域名一个主机可以做两个网站吗如何重新编辑wordpress
  • 餐饮网站建设目标做企业网站价格
  • 入户广州网站做一个购物商城网站多少钱
  • 怎么制作网站logo重庆旅游攻略详细安排
  • 做网站后端用户用什么写郑州装修公司口碑哪家好
  • 教育培训网站建设方案模板中国摄影网站有哪些
  • 做网站做得好的公司有国外的贸易网站
  • 建设网站服务请示wordpress 提高收录
  • 设计网站多少钱用户权限网站
  • 网站关键字如何设置网站建设的主要工作流程
  • 怎样构建网站宁化网站建设
  • 自己做的网站出现左右滑动条做wish选品网站 数据网站
  • 免费ppt模板的网站公司网站设计是不是一次性收费的
  • 免费部署网站公司资质查询官方网站
  • 响应式酒店网站模板网络空间设计方案
  • 做低首付的汽车网站有哪些河北建设银行石家庄分行招聘网站
  • 如何开发网站wordpress广告代码没显示
  • 公司网站建设服务费怎么做账app图标制作软件
  • 哪个网站做调查问卷赚钱阳江市问政平台举报
  • 男女做污视频在线观看网站wordpress文字转图插件下载
  • 网站按照谁建设 谁负责wordpress 插件 缓存
  • 建设学校网站前的需求分析报告网站飘动
  • 《网站建设验收报告》域名是企业的网上商标
  • 开通网站主机邢台网站制作哪里好
  • 博学网站建设公司制作英文网站