美文网首页
or()、增强for()、foreach()、stream().

or()、增强for()、foreach()、stream().

作者: IT草根 | 来源:发表于2019-07-13 22:07 被阅读0次

###for()、增强for()、foreach()、stream().foreach()

*测试一

```java

public class TestFor {

    private static void doSome(String s) {

    }

    public static void main(String[] args) {

        /*添加数据*/

        List<String> list = new ArrayList<>();

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

            list.add("第" + i + "条数据");

        }

        /*for循环*/

        long st1 = System.currentTimeMillis();

        for (int i = 0; i < list.size(); i++) {

            doSome(list.get(i));

        }

        /*增强for循环*/

        long st2 = System.currentTimeMillis();

        for (String s : list) {

            doSome(s);

        }

        /*foreach*/

        long st3 = System.currentTimeMillis();

        list.forEach(s -> doSome(s));

        /*stream.foreach*/

        long st4 = System.currentTimeMillis();

        list.stream().forEach(s -> doSome(s));

        long st5 = System.currentTimeMillis();

        print(st1, st2, st3, st4, st5);

    }

    /*时间输出*/

public static void print(long s1, long s2, long s3, long s4, long s5) {

        System.out.println("for          循环: " + (s2 - s1) + "ms");

        System.out.println("增强for      循环: " + (s3 - s2) + "ms");

        System.out.println("foreach      循环:" + (s4 - s3) + "ms");

        System.out.println("stream.foreach循环:" + (s5 - s4) + "ms");

    }

}

```

**结果:**

for          循环: 0ms

增强for      循环: 0ms

foreach      循环:129ms

stream.foreach循环:3ms

------------

* **测试二**

```java

List<String> list = new ArrayList<>();

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

list.add("第" + i + "条数据");

}

```

**结果:**

for          循环: 1ms

增强for      循环: 1ms

foreach      循环:121ms

stream.foreach循环:3ms

------------

* **测试三**

```java

List<String> list = new ArrayList<>();

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

list.add("第" + i + "条数据");

}

```

**结果:**

for          循环: 17ms

增强for      循环: 23ms

foreach      循环:165ms

stream.foreach循环:18ms

------------

* **测试四**

```java

private static void doSome(String s) {

try {

Thread.sleep(1);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

```

**结果:**

for          循环: 184ms

增强for      循环: 169ms

foreach      循环:224ms

stream.foreach循环:116ms

相关文章

网友评论

      本文标题:or()、增强for()、foreach()、stream().

      本文链接:https://www.haomeiwen.com/subject/iugpfxtx.html