zoukankan      html  css  js  c++  java
  • 测试 for foreach stream 性能

     1 import com.google.common.collect.Lists;
     2 import org.junit.Test;
     3 
     4 import java.util.List;
     5 import java.util.stream.Collectors;
     6 
     7 /**
     8  *
     9  */
    10 public class Demo {
    11 
    12     @Test
    13     public void test() throws InterruptedException {
    14 //        int size = 5000000;
    15         int size = 50000000;
    16 
    17         Thread.sleep(1000);
    18 
    19         long t1s = System.currentTimeMillis();
    20         List<Integer> list1 = Lists.newArrayListWithExpectedSize(size);
    21         for (int i = 0; i < size; i++) {
    22             list1.add(i + 1);
    23         }
    24         long t1e = System.currentTimeMillis();
    25         System.out.println("for 循环 耗时:" + (t1e - t1s) + " , size = " + list1.size());
    26 
    27 
    28         long t2s = System.currentTimeMillis();
    29         List<Integer> list2 = Lists.newArrayListWithExpectedSize(size);
    30         list1.forEach(
    31                 i -> list2.add(i + 1)
    32         );
    33         long t2e = System.currentTimeMillis();
    34         System.out.println("foreach  耗时:" + (t2e - t2s) + " , size = " + list2.size());
    35 
    36 
    37         long t3s = System.currentTimeMillis();
    38         List<Integer> list3 = list1.stream().map(i -> i + 1).collect(Collectors.toList());
    39         long t3e = System.currentTimeMillis();
    40         System.out.println("stream  耗时:" + (t3e - t3s) + " , size = " + list3.size());
    41 
    42         Thread.sleep(1000);
    43     }
    44 
    45 
    46 }

    测试结果:

  • 相关阅读:
    mysql 注意事项 PreparedStatement 对比 statement
    Dbutils commons-dbutils-1.3
    C3P0 mysql 5.7
    servlet-应用mysql-1
    javabean 用integer 而不是int
    servlet-1
    servlet 路径 编码 问题
    mac tomcat 9.0
    case end 的用法
    自定义抛出异常
  • 原文地址:https://www.cnblogs.com/sanmubird/p/12195539.html
Copyright © 2011-2022 走看看