0

For example:

List<Integer> list = Lists.newArrayList(3, 1, 2)
for(int i = list.size() - 1; i>=0; i--) {
    System.out.println(list.get(i));
}

How do I go about implementing the above code in Java8 Stream?

李志博
  • 1
  • 1

3 Answers3

1

You can try the below piece of code -

ListIterator<Integer> iterator = list.listIterator(list.size());
Stream.generate(iterator::previous)
  .limit(list.size())
  .forEach(System.out::println);
Dhanraj
  • 129
  • 3
0

What if something like:

List<Integer> list = Arrays.asList(3, 1, 2);
    Collections.reverse(list);
    list.forEach(System.out::println);
Andriy Zhuk
  • 123
  • 6
0
int[] array = {3, 1, 2};
IntStream.rangeClosed(1, array.length)
    .mapToObj(i -> array[array.length - i])
    .forEach(System.out::println);
Tyler2P
  • 2,182
  • 12
  • 17
  • 28
Vladimir.V.Bvn
  • 902
  • 1
  • 12
  • 12