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

织梦网站程序安装ps做网站显示内容参考

织梦网站程序安装,ps做网站显示内容参考,深圳家具网站建设,微网站微商城建设Stream流 定义 Steam流&#xff0c;用于操作集合或者数组中的数据&#xff0c;大量结合了Lamda表达式的语法风格&#xff0c;代码简洁。 重点&#xff1a; 流只能收集一次 ​ 获取Stream流 Stream流要与数据源建立连接。 1.list ​ 直接调用steam()即可 // list List<Stri…

Stream流

定义

Steam流,用于操作集合或者数组中的数据,大量结合了Lamda表达式的语法风格,代码简洁。

重点: 流只能收集一次

在这里插入图片描述


获取Stream流

Stream流要与数据源建立连接。

1.list

​ 直接调用steam()即可

// list
List<String> names = new ArrayList<>();
Collections.addAll(names, "品贵","红旗", "周芷若","张三丰");
Stream<String> stream = names.stream();
stream.filter(s -> s.contains("品")).forEach(s -> System.out.println(s));

2.set

​ 直接调用stream()即可

//set
Set<String> set = new HashSet<>();
Collections.addAll(set, "品贵","红旗", "三个人", "周芷若","张三丰","张三丰");
Stream<String> stream1 = set.stream();
stream1.filter(s -> s.contains("三")).forEach(s -> System.out.println(s));

3.map

​ 需要先将map转换为entrySet(),再通过entryset()进行获取stream()

//mapMap<String, Double> map = new HashMap<>(){{put("古力娜扎", 172.3);put("迪丽热巴", 175.3);put("古力娜扎", 171.4);put("稀里哗啦", 189.3);put("巴啦啦小魔仙", 160.1);}};
//        map.stream()Set<Map.Entry<String, Double>> entries = map.entrySet();Stream<Map.Entry<String, Double>> kvs = entries.stream();kvs.filter(e -> e.getKey().contains("巴")).forEach(System.out::println);
// 简便写法
map.entrySet().stream().filter(e -> e.getKey().contains("巴")).forEach(System.out::println);

4.数组

​ 使用Arrays.stream()

​ 使用Stream.of()

//数组
String[] names2 = {"张翠山", "东方不败", "大唐不夜城", "回民街"};
Stream<String> s1 = Arrays.stream(names2);
Stream<String> s2 = Stream.of(names2);

在这里插入图片描述


Steam流的常见中间方法

中间方法指的是调用完成后会返回新的Stream流,可以继续使用,支持链式编程。

在这里插入图片描述

package stream;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;public class Test2 {public static void main(String[] args) {List<Double> scores = new ArrayList<>();// 找出大于60分并升序排序后输出Collections.addAll(scores, 88.5, 100.0, 60.6, 99.0, 9.5, 99.6, 25.9);scores.stream().filter(s -> s >= 60).sorted().forEach(System.out::println);System.out.println("-------------------------------------------");List<Student> students = new ArrayList<>();Student s1 = new Student("蜘蛛精", 26, 172.5);Student s2 = new Student("蜘蛛精", 26, 174.5);Student s3 = new Student("紫霞", 216, 122.5);Student s4 = new Student("白晶晶", 25, 175.5);Student s5 = new Student("牛魔王", 13, 166.5);Collections.addAll(students, s1, s2, s3, s4, s5);// 找出年龄大于等于23 年龄小于等于30 并且按照年龄输出students.stream().filter(s -> s.getAge() >= 23 && s.getAge() <= 30).sorted((o1, o2) -> o2.getAge() - o1.getAge()).forEach(System.out::println);System.out.println("-------------------------------------------");// 取出身高前3名的学生 并输出students.stream().sorted((o1, o2) -> Double.compare(o2.getHeight(), o1.getHeight())).limit(3).forEach(System.out::println);System.out.println("-------------------------------------------");// 取出身高倒数2名学生,并输出students.stream().sorted((o1, o2) -> Double.compare(o1.getHeight(), o2.getHeight())).limit(2).forEach(System.out::println);System.out.println("-------------------------------------------");// 找出身高超过168的学生叫什么名字,要求去除重复的名字,再输出students.stream().filter(s -> s.getHeight() > 168).map(Student::getName).distinct().forEach(System.out::println);System.out.println("-------------------------------------------");// 找出身高超过168的学生叫什么名字,要求去除重复的内容,再输出// 首先需要重写equals和hashCode函数 让内容相同的对象设置为一样的students.stream().filter(s -> s.getHeight() > 168).distinct().forEach(System.out::println);System.out.println("-------------------------------------------");Stream<String> st1 = Stream.of("张三", "李四");Stream<String> st2 = Stream.of("张三2", "李四2", "王五");Stream.concat(st1, st2).forEach(System.out::println);}
}

Stream流常见的终结方法

在这里插入图片描述

在这里插入图片描述

package stream;import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;public class Test3 {public static void main(String[] args) {List<Student> students = new ArrayList<>();Student s1 = new Student("蜘蛛精", 26, 172.5);Student s2 = new Student("蜘蛛精", 26, 172.5);Student s3 = new Student("紫霞", 23, 167.6);Student s4 = new Student("白晶晶", 25, 169.0);Student s5 = new Student("牛魔王", 35, 183.8);Student s6 = new Student("牛夫人", 34, 168.5);Collections.addAll(students, s1, s2, s3, s4, s5, s6);// 需求1:计算身高超过168的人数System.out.println(students.stream().filter(s -> s.getHeight() >= 168).count());//需求2:找出身高最高的学生对象并输出System.out.println(students.stream().max((o1, o2) -> Double.compare(o1.getHeight(), o2.getHeight())).get());//需求3:找出身高最矮的学生对象并输出System.out.println(students.stream().min(((o1, o2) -> Double.compare(o1.getHeight(), o2.getHeight()))).get());//需求4:找出身高超过170的学生对象,放到一个新集合List<Student> student1 = students.stream().filter(s -> s.getHeight() >= 170).collect(Collectors.toList());System.out.println(student1);Set<Student> student2 = students.stream().filter(s -> s.getHeight() >= 170).collect(Collectors.toSet());System.out.println(student2);//需求5:找出身高超过170的学生对象并把学生的名字和身高,存入到一个Map集合中Map<String, Double> map = students.stream().filter(s -> s.getHeight() > 170).distinct().collect(Collectors.toMap(Student::getName, Student::getHeight));map.forEach((k, v) -> {System.out.println(k + "-----" + v);});// 收集到数组中Object[] array = students.stream().filter(s -> s.getHeight() > 170).toArray();System.out.println(Arrays.toString(array));}
}
http://www.yayakq.cn/news/822566/

相关文章:

  • 做个网站要多久做网站网站是什么案件
  • 九江市住房和城乡建设局网站wordpress 网页加速
  • 快速模仿一个网站注册公司费用及流程
  • 东莞网站建设服务商福州市建设工程招投标信息网
  • 丝网外贸做哪些网站中等职业学校示范建设专题网站
  • 常州网站建设乛薇国外优秀电商设计网站
  • 家政服务网站源码郑州区块链数字钱包网站开发公司
  • 网站建设与熊掌号未来的关系图书翻页的动画 做网站启动用
  • 清远建设网站网站维护中是不是关闭网站了
  • 三明市建设局网站官网视觉asp网站源码
  • 做外贸建网站需要推广吗东莞商城网站推广建设
  • 网站怎么自己编辑模块关键词排名优化价格
  • 网站建设公司 待遇美橙网站产品详情
  • 小网站链接怎么找长沙百度开户
  • wordpress如何启用全站ssl迅捷在线图片编辑
  • 网站写手怎么做西安抖音seo
  • 个人怎么进行网站建设白名单查询网站
  • 潍坊网站建设SEO优化熊掌号一键生成动漫视频的软件
  • 利用公共dns做网站解析遵义网帮你
  • 外国网站手机dns网站前台的模块
  • 做变形记图网站装修设计咨询公司
  • 涪陵做网站多网站后台问题
  • 海淀网站设计公司博敏 网站开发
  • 郑州企业网站优化排名南宁网站制作公
  • 网站标题关键词长度现在注册公司多少钱
  • 做网站 知乎9.9网站怎么做
  • 莱芜房产网站南城网站建设价格
  • 3g开发网站邯郸哪里有做网站的李
  • 学做淘宝客网站有哪些哈尔滨住房城乡建设局网站首页
  • 广州建设大马路小学网站网站运营风险分析