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?
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?
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);
What if something like:
List<Integer> list = Arrays.asList(3, 1, 2);
Collections.reverse(list);
list.forEach(System.out::println);
int[] array = {3, 1, 2};
IntStream.rangeClosed(1, array.length)
.mapToObj(i -> array[array.length - i])
.forEach(System.out::println);