fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12.  
  13. List<Integer> list = new ArrayList<>();
  14. list.add(24);
  15. list.add(25);
  16. list.add(45);
  17. list.add(30);
  18. list.add(3);
  19. list.add(20);
  20. list.add(5);
  21.  
  22. Map<String, List<Integer>> fizzBuzz = new HashMap<>(3);
  23. fizzBuzz.put("I", new ArrayList());
  24. fizzBuzz.put("I3", new ArrayList());
  25. fizzBuzz.put("I5", new ArrayList());
  26. fizzBuzz.put("I35", new ArrayList());
  27.  
  28. list.stream().reduce(
  29. fizzBuzz,
  30. (map, e) -> {
  31. String key = "I"; // default key
  32. if (e % 3 == 0) key = "I3";
  33. if (e % 5 == 0) key = "I5";
  34. if (e % (3*5) == 0) key = "I35";
  35. map.get(key).add(e);
  36. return map;
  37. },
  38. (m, m2) -> {
  39. m.putAll(m2);
  40. return m;
  41. }
  42. );
  43.  
  44. System.out.println(fizzBuzz);
  45.  
  46. }
  47. }
Success #stdin #stdout 0.09s 48220KB
stdin
Standard input is empty
stdout
{I=[], I3=[24, 3], I35=[45, 30], I5=[25, 20, 5]}