1.    题目需求:
       1:第一个队伍只要名字为3个字成员的姓名,存储到新集合
    2:第一个队伍筛选之后只要前3人;存储到一个新集合
    3:第2个队伍只要姓张的成员姓名;存储到一个新集合
    4:第2个队伍不要前2人,存储到一个新集合
    5:将2个队伍合并到一个队伍,存储到一个新集合
    6:根据姓名创建Person对象,存储到一个新集合
  2.  
  3. //使用普通方法进行筛选 前面加了一个时间类
  1. import java.util.ArrayList;
    public class Demo08List {
    public static void main(String[] args) {
        //定义一个时间类记录开始时间
    long start=System.currentTimeMillis();
        //定义一个集合
    ArrayList<String>one=new ArrayList<>();
    one.add("东方不败");
    one.add("流星锤");
    one.add("汪汪");
    one.add("利亚东");
    one.add("龙虎彪");
    one.add("看风景");
    one.add("超哥");
    ArrayList<String>one1=new ArrayList<>();
    for (String name : one) {
    if (name.length()==3){
    one1.add(name);
    }
    }
    ArrayList<String>one2=new ArrayList<>();
    for (int i = 0; i <3; i++) {
    one2.add(one1.get(i));
    }
    ArrayList<String>two=new ArrayList<>();
    two.add("独孤求败");
    two.add("张百忍");
    two.add("张无忌");
    two.add("爱奇艺");
    two.add("4399");
    two.add("土豆");
    two.add("张三丰");
    ArrayList<String>two1=new ArrayList<>();
    for (String name : two) {
    if (name.startsWith("张")){
    two1.add(name);
    }
    }
    ArrayList<String>two2=new ArrayList<>();
    for (int i = 2; i < two1.size(); i++) {
    two2.add(two1.get(i));
    }
    ArrayList<String>all=new ArrayList<>();
    all.addAll(one2);
    all.addAll(two2);
    ArrayList<Person>list=new ArrayList<>();
    for (String name:all) {
    list.add(new Person(name));
    }
    for (Person person : list) {
    System.out.println(person);
    }
          //结束的时间
    long end=System.currentTimeMillis();
          //以毫秒值返回
    System.out.println(end-start);
    }
    }
  2.  
  3. 使用Stream流的方式进行筛选
  1. import java.util.ArrayList;
    import java.util.stream.Stream;
  2.  
  3. public class Demo09list {
    public static void main(String[] args) {
    long start=System.currentTimeMillis();
    ArrayList<String> one=new ArrayList<>();
    one.add("东方不败");
    one.add("裘千仞");
    one.add("大神");
    one.add("利亚东");
    one.add("秦始皇");
    one.add("???");
    one.add("超哥");
  4.  
  5. Stream<String> stringStream = one.stream().filter(name ->
    name.length() == 3).limit(3);
    ArrayList<String>two=new ArrayList<>();
    two.add("独孤求败");
    two.add("张百忍");
    two.add("张无忌");
    two.add("爱奇艺");
    two.add("4399");
    two.add("土豆");
    two.add("张三丰");
    // long start=System.currentTimeMillis();
    Stream<String> towStream = two.stream().filter
    (name -> name.startsWith("张")).skip(2);
    Stream.concat(stringStream,towStream).map(name->
    new Person(name)).forEach(p-> System.out.println(p));
    long end=System.currentTimeMillis();
  1.     //以毫秒值返回去
  1. System.out.println(end-start);
    }
    }

  1. Stream流固然可以简化代码格式但是这样的执行速度值得一试??

关于Java8 Stream流的利与弊 Java初学者,大神勿喷的更多相关文章

  1. 【转】Java8 Stream 流详解

      当我第一次阅读 Java8 中的 Stream API 时,说实话,我非常困惑,因为它的名字听起来与 Java I0 框架中的 InputStream 和 OutputStream 非常类似.但是 ...

  2. Java8 Stream流

    第三章 Stream流 <Java8 Stream编码实战>的代码全部在https://github.com/yu-linfeng/BlogRepositories/tree/master ...

  3. Java8 Stream流API常用操作

    Java版本现在已经发布到JDK13了,目前公司还是用的JDK8,还是有必要了解一些JDK8的新特性的,例如优雅判空的Optional类,操作集合的Stream流,函数式编程等等;这里就按操作例举一些 ...

  4. Java8——Stream流式操作的一点小总结

    我发现,自从我学了Stream流式操作之后,工作中使用到的频率还是挺高的,因为stream配合着lambda表达式或者双冒号(::)使用真的是优雅到了极致!今天就简单分(搬)享(运)一下我对strea ...

  5. 【JDK8】Java8 Stream流API常用操作

    Java版本现在已经发布到JDK13了,目前公司还是用的JDK8,还是有必要了解一些JDK8的新特性的,例如优雅判空的Optional类,操作集合的Stream流,函数式编程等等;这里就按操作例举一些 ...

  6. Java8 Stream流方法

    流是Java API的新成员,它允许以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现).就现在来说,可以把它们看成遍历数据集的高级迭代器.此外,流还可以透明地并行处理,无需写任何多 ...

  7. Java8 - Stream流:让你的集合变得更简单!

    前段时间,在公司熟悉新代码,发现好多都是新代码,全是 Java8语法,之前没有了解过,一直在专研技术的深度,却忘了最初的语法,所以,今天总结下Stream ,算是一份自己理解,不会很深入,就讲讲常用的 ...

  8. java8 stream 流 例子

    Trader raoul = new Trader("Raoul", "Cambridge"); Trader mario = new Trader(" ...

  9. Java8 Stream 流使用场景和常用操作

    JAVA8内置的函数式编程接口应用场景和方式 pojo类对象和默认创建list的方法 import lombok.AllArgsConstructor; import lombok.Data; imp ...

随机推荐

  1. vue移动端flexible.js结合Muse-ui使用和vux的小坑

    因为公司有个项目有webapp的需求,在前期准备的期间考虑过使用ionic,毕竟该项目web端的框架使用的是Angular,项目组的人也都比较熟悉,但是我们毕竟只是做个移动的网页,不想用ionic那么 ...

  2. jQuery EasyUI 详解

    EasyUI 简介 easyui 是一种基于 jQuery 的用户界面插件集合. easyui 为创建现代化,互动,JavaScript 应用程序,提供必要的功能. 使用 easyui 你不需要写很多 ...

  3. 修改maven镜像为阿里云,速度快

    http://www.cnblogs.com/panxuejun/p/6140768.html修改maven根目录下的conf文件夹中的setting.xml文件,(或者当前用户目录 的 .m2 目录 ...

  4. 深入理解String类详解

    1.Stringstr = "eee" 和String str = new String("eee")的区别 先看一小段代码, 1 public static ...

  5. MySQL的SQL预处理(Prepared)

    Prepared SQL Statement:SQL的执行.预编译处理语法.注意点 一.SQL 语句的执行处理1.即时 SQL 一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下: 1. ...

  6. RecyclerView+SwpieRefreshLayout(转载)

    开源库BaseRecyclerViewAdapterHelperhttp://blog.csdn.net/xiangzhihong8/article/details/52138669http://ww ...

  7. 《转载》JVM垃圾回收机制

    本文转载自ImportNew - 郑雯 每个Java程序员迟早都会碰到下面这个错误: java.lang.OutOfMemoryError 这个时候一般会建议采用如下方式解决这个错误: 增加MaxPe ...

  8. 一种隐蔽性较高的Java ConcurrentModificationException异常场景

    前言 在使用Iterator遍历容器类的过程中,如果对容器的内容进行增加和删除,就会出现ConcurrentModificationException异常.该异常的分析和解决方案详见博文<Jav ...

  9. [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  10. Power BI数据网关

      前言 你的组织中的用户可以访问本地数据(他们已经具有该数据的访问授权),但在这些用户可以连接到你的本地数据源之前,需要安装和配置本地数据网关. 该网关便于云中的用户与你的本地数据源相互进行快速安全 ...