题目需求:
   1:第一个队伍只要名字为3个字成员的姓名,存储到新集合
2:第一个队伍筛选之后只要前3人;存储到一个新集合
3:第2个队伍只要姓张的成员姓名;存储到一个新集合
4:第2个队伍不要前2人,存储到一个新集合
5:将2个队伍合并到一个队伍,存储到一个新集合
6:根据姓名创建Person对象,存储到一个新集合 //使用普通方法进行筛选 前面加了一个时间类
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);
}
} 使用Stream流的方式进行筛选
import java.util.ArrayList;
import java.util.stream.Stream; 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("超哥"); 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();
      //以毫秒值返回去
        System.out.println(end-start);
}
}

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. 通过反射调用Unity编辑器提供的各种功能

    Unity编辑器功能丰富易上手,其实编辑器提供的大多数菜单操作,在代码里面都是能够找到对应接口的,但是这些接口都没有对我们开放,怎么办? 很简单,直接使用反射调用即可. 首先使用Reflector或I ...

  2. 解决SVN 每次操作都需要重输入用户名密码问题

    把目录C:\Users\当前账号\AppData\Roaming\Subversion\auth下的文件删除,然后重启hbuilder或eclipse工具,重新输入账号密码之后,保存即可解决该问题.

  3. [译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络

    本文译自 Christopher Olah 的博文 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有 ...

  4. eclipse如何安裝JPA 和Data Source Explorer

    安裝Data Source Explorer https://blog.csdn.net/XIAOZHI0999/article/details/61199801?utm_source=blogxgw ...

  5. samba4.4security配置

    security=share在新版中已经被废弃了把security = share改为 security = user map to guest = Bad User 就可以了 [global] wo ...

  6. 【Py-Github】根据条件筛选Github repo的例子

    条件: language:python commits:>100 contributors:>2 stars:>5 fork:0 实现: from github import Git ...

  7. sendmail邮件自动发送

    配置邮件自动发送: 1.安装软件 yum -y install sendmail mailx 2.发送邮件的邮箱授权 eg:y******@126.com 网页网易云邮箱登陆 --> 设置 -- ...

  8. Centos 7内核3升级到4

    步骤 1:检查已安装的内核版本 让我们安装了一个发行版,它包含了一个特定版本的内核.为了展示当前系统中已安装的版本,我们可以: # uname -sr 下面的图片展示了在一台 CentOS 7 服务器 ...

  9. 记一次Springboot启动异常

    启动Springboot项目报以下异常: org.springframework.context.ApplicationContextException: Unable to start web se ...

  10. MySQL练习题1

    以下SQL操作均在MYSQL上测试过 首先是表定义 1.创建student和score表 CREATE TABLE student ( id ) NOT NULL UNIQUE PRIMARY KEY ...