关于Java8 Stream流的利与弊 Java初学者,大神勿喷

Posted liyado

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Java8 Stream流的利与弊 Java初学者,大神勿喷相关的知识,希望对你有一定的参考价值。

   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初学者,大神勿喷的主要内容,如果未能解决你的问题,请参考以下文章

用Go语言进行编程的利与弊

结对编程的利与弊

Redis 使用 List 实现消息队列的利与弊

敏捷开发的利与弊

数据仓库的利与弊

图片的base64编码的利与弊?