java同一个任务使用for循环与Stream比较

简介: java同一个任务使用for循环与Stream比较

一 任务

二 Persion类

package day13;
 
public class Persion {
   private String name;
    public Persion() {
    }
   public Persion(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
   public void setName(String name) {
        this.name = name;
    }
}

三 使用for实现

import java.util.ArrayList;
 
public class demo {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("迪丽热巴");
        list1.add("宋远桥");
        list1.add("苏星河");
        list1.add("石破天");
        list1.add("石中玉");
        list1.add("老子");
        list1.add("庄子");
        list1.add("洪七公");
        ArrayList<String> list1_0 = new ArrayList<String>();
        for (String s : list1) {
            if(s.length()==3){
                list1_0.add(s);
            }
        }
        ArrayList<String> list1_1 = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            list1_1.add(list1_0.get(i));
        }
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("古力娜扎");
        list2.add("张无忌");
        list2.add("赵丽颖");
        list2.add("尼格拉斯");
        list2.add("张天爱");
        list2.add("张三丰");
        ArrayList<String> list2_0 = new ArrayList<>();
        for (String s : list2) {
            if(s.startsWith("张")){
                list2_0.add(s);
            }
        }
       ArrayList<String> list2_1 = new ArrayList<>();
        for (int i = 2; i <list2_0.size(); i++) {
            list2_1.add(list2_0.get(i));
        }
        ArrayList<String> list3 = new ArrayList<>();
       list3.addAll(list1_1);
       list3.addAll(list2_1);
        ArrayList<Persion> persions = new ArrayList<>();
        for (String s : list3) {
            persions.add(new Persion(s));
        }
        for (Persion persion : persions) {
            System.out.println(persion.getName());
        }
    }
}

运行结果

宋远桥
苏星河
石破天
张三丰

四 使用Stream实现

import java.util.ArrayList;
import java.util.stream.Stream;
 
public class demo_test_for {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("迪丽热巴");
        list1.add("宋远桥");
        list1.add("苏星河");
        list1.add("石破天");
        list1.add("石中玉");
        list1.add("老子");
        list1.add("庄子");
        list1.add("洪七公");
       ArrayList<String> list2 = new ArrayList<>();
        list2.add("古力娜扎");
        list2.add("张无忌");
        list2.add("赵丽颖");
        list2.add("尼格拉斯");
        list2.add("张天爱");
        list2.add("张三丰");
       Stream<Persion> stream = Stream.concat(list1.stream().filter((name) -> name.length() == 3).limit(3),
                list2.stream().filter((name) -> (name.startsWith("张"))).skip(2))
                .map((name) -> new Persion(name));
        stream.forEach((Persion p)-> System.out.println(p.getName()));
 
    }
}

运行结果

宋远桥
苏星河
石破天
张三丰
目录
相关文章
|
3天前
|
Java
java8使用stream查找重复元素
java8使用stream查找重复元素
13 2
|
1天前
|
Java
java线程池执行任务(一次任务、固定间隔时间任务等)
java线程池执行任务(一次任务、固定间隔时间任务等)
6 1
|
3天前
|
Java
java使用Stream流找出集合对象中最小值
java使用Stream流找出集合对象中最小值
9 1
|
8天前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
37 7
|
9天前
|
Java 大数据 API
Java中的Lambda表达式和Stream API的高效使用
【6月更文挑战第18天】在Java 8中引入的Lambda表达式和Stream API为集合操作带来了革命性的改进,提供了一种更加简洁、声明式的编程方式。本文将深入探讨如何利用这些特性来提升代码的可读性和开发效率,同时避免常见的性能陷阱。
|
9天前
|
存储 Java 大数据
Java Stream API
Java Stream API
13 1
|
1天前
|
存储 安全 Java
必知的技术知识:java8之stream
必知的技术知识:java8之stream
|
2天前
|
Java BI Serverless
Java8 Stream深度解析:30个案例3万字助你精通集合筛选、归约、分组与聚合操作
Java8 Stream深度解析:30个案例3万字助你精通集合筛选、归约、分组与聚合操作
|
3天前
|
Java 机器人 程序员
Java中的lambda表达式与Stream API:高效的函数式编程
Java中的lambda表达式与Stream API:高效的函数式编程
|
4天前
|
Java
java使用CountDownLatch将一个任务拆解后合并处理
java使用CountDownLatch将一个任务拆解后合并处理
5 0