fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.util.stream.*;
  5. import java.util.function.*;
  6. import java.lang.*;
  7. import java.io.*;
  8.  
  9. /* Name of the class has to be "Main" only if the class is public. */
  10. class Ideone
  11. {
  12. public static void main (String[] args) throws java.lang.Exception
  13. {
  14. List<Integer> data = IntStream.range(0, 10).boxed().collect(Collectors.toList());
  15. getEndTruncatedSubListsOf(data).stream().forEach(System.out::println);
  16. getFrontTruncatedSubListsOf(data).stream().forEach(System.out::println);
  17. }
  18.  
  19. private static <T> List<List<T>> getEndTruncatedSubListsOf(List<T> list) {
  20. return getSubListsOf(list, i -> list.subList(0, list.size() - i));
  21. }
  22.  
  23. private static <T> List<List<T>> getFrontTruncatedSubListsOf(List<T> list) {
  24. return getSubListsOf(list, i -> list.subList(i, list.size()));
  25. }
  26.  
  27. private static <T> List<List<T>> getSubListsOf(List<T> list,
  28. IntFunction<List<T>> truncfn) {
  29. return IntStream.range(0, list.size())
  30. .mapToObj(i -> truncfn.apply(i))
  31. .collect(Collectors.toList());
  32. }
  33.  
  34. }
Success #stdin #stdout 0.23s 320832KB
stdin
Standard input is empty
stdout
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4]
[0, 1, 2, 3]
[0, 1, 2]
[0, 1]
[0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7, 8, 9]
[4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[6, 7, 8, 9]
[7, 8, 9]
[8, 9]
[9]