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

题目需求:

1:第一个队伍只要名字为3个字成员的姓名,存储到新集合

2:第一个队伍筛选之后只要前3人;存储到一个新集合

3:第2个队伍只要姓张的成员姓名;存储到一个新集合

4:第2个队伍不要前2人,存储到一个新集合

5:将2个队伍合并到一个队伍,存储到一个新集合

6:根据姓名创建Person对象,存储到一个新集合

//使用普通方法进行筛选 前面加了一个时间类

b5d434e9dc749fc8178844abb95f92db.png

import java.util.ArrayList;

public class Demo08List {

public static void main(String[] args) {

//定义一个时间类记录开始时间

long start=System.currentTimeMillis();

//定义一个集合

ArrayListone=new ArrayList<>();

one.add("东方不败");

one.add("流星锤");

one.add("汪汪");

one.add("利亚东");

one.add("龙虎彪");

one.add("看风景");

one.add("超哥");

ArrayListone1=new ArrayList<>();

for (String name : one) {

if (name.length()==3){

one1.add(name);

}

}

ArrayListone2=new ArrayList<>();

for (int i = 0; i <3; i++) {

one2.add(one1.get(i));

}

ArrayListtwo=new ArrayList<>();

two.add("独孤求败");

two.add("张百忍");

two.add("张无忌");

two.add("爱奇艺");

two.add("4399");

two.add("土豆");

two.add("张三丰");

ArrayListtwo1=new ArrayList<>();

for (String name : two) {

if (name.startsWith("张")){

two1.add(name);

}

}

ArrayListtwo2=new ArrayList<>();

for (int i = 2; i < two1.size(); i++) {

two2.add(two1.get(i));

}

ArrayListall=new ArrayList<>();

all.addAll(one2);

all.addAll(two2);

ArrayListlist=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 one=new ArrayList<>();

one.add("东方不败");

one.add("裘千仞");

one.add("大神");

one.add("利亚东");

one.add("秦始皇");

one.add("???");

one.add("超哥");

Stream stringStream = one.stream().filter(name ->

name.length() == 3).limit(3);

ArrayListtwo=new ArrayList<>();

two.add("独孤求败");

two.add("张百忍");

two.add("张无忌");

two.add("爱奇艺");

two.add("4399");

two.add("土豆");

two.add("张三丰");

// long start=System.currentTimeMillis();

Stream 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);

}

}

396fcc2cbfbd9fa32243d80fa1130da6.png

a45eada37486ff24d07f3e9d45ccf5bc.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值