改写为lambda+stream

来源:5-6 集合工具类

乃好

2019-09-23

老师你好

我用普通代码实现了一个list反转的功能

package com.gx.lambda.file;

import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.List;

public class listTest
{
    public static void reverse(List<Integer> list)
    {
        //获得list的元素个数
        int size = list.size();
        
        //从尾巴开始遍历list
        for (int i = size-1; i >= 0; i--)
        {
            System.out.println(list.get(i));
        }
    }

    public static void main(String[] args)
    {
        ArrayList<Integer> integers = Lists.newArrayList(3, 5, 7);
        listTest.reverse(integers);
    }
}

如果我想用lambda+stream改写reverse方法中的逻辑,应该怎么写呢?

写回答

1回答

张小喜

2019-09-24

stream主要是用来依次遍历元素进行处理,不要在遍历的同时去改变数据源。你说的反转list,在Guava中有一个方法:Lists.reverse(list);。可以参考这个。

1
0

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程