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?

李志博
  • 55
  • 5

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
  • 139
  • 3
0

What if something like:

List<Integer> list = Arrays.asList(3, 1, 2);
    Collections.reverse(list);
    list.forEach(System.out::println);
Andriy Zhuk
  • 133
  • 6
0
int[] array = {3, 1, 2};
IntStream.rangeClosed(1, array.length)
    .mapToObj(i -> array[array.length - i])
    .forEach(System.out::println);
Tyler2P
  • 2,324
  • 26
  • 22
  • 31
Vladimir.V.Bvn
  • 1,050
  • 1
  • 13
  • 13