fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3.  
  4. import java.util.Arrays;
  5. import java.util.EnumSet;
  6. import java.util.List;
  7. import java.util.Set;
  8. import java.util.function.BiConsumer;
  9. import java.util.stream.Collectors;
  10.  
  11.  
  12. /* Name of the class has to be "Main" only if the class is public. */
  13. class Ideone
  14. {
  15. public static void main(String[] args) {
  16.  
  17. List<Class1> data1 = Arrays.asList(new Class1(), new Class1());
  18. List<Class2> data2 = Arrays.asList(new Class2(), new Class2());
  19.  
  20. // The following is what I'm trying to implement:
  21. List<BiConsumer<Class1, Double>> peeks1 = Arrays.asList(Class1::setOneNum, Class1::setAnotherNum);
  22. List<BiConsumer<Class2, Double>> peeks2 = Arrays.asList(Class2::setSomeNum1, Class2::setSomeNum2);
  23.  
  24. helper(data1, peeks1);
  25. helper(data2, peeks2);
  26. }
  27.  
  28. private static <T> List<T> helper(List<T> data, List<BiConsumer<T, Double>> peeks) {
  29.  
  30. for(BiConsumer<T, Double> singlePeek: peeks){
  31. data = data.stream()
  32. .peek(a -> singlePeek.accept(a, Math.random()))
  33. .collect(Collectors.toList());
  34. }
  35.  
  36. return data;
  37. }
  38. private static class Class1 {
  39.  
  40. public void setOneNum(double d) {
  41.  
  42. }
  43.  
  44. public void setAnotherNum(double d) {
  45.  
  46. }
  47. }
  48. private static class Class2 {
  49. public void setSomeNum1(double d) {
  50.  
  51. }
  52.  
  53. public void setSomeNum2(double d) {
  54.  
  55. }
  56. }
  57. }
Success #stdin #stdout 0.07s 34248KB
stdin
Standard input is empty
stdout
Standard output is empty