Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.99 KB | None | 0 0
  1. package _11._21;
  2.  
  3. import java.util.*;
  4.  
  5. public class Task_01 {
  6. //  private static MinMaxAvg getMinMaxAvg(TreeSet<Integer> as) {
  7. //    Integer min = as.first();
  8. //    Integer max = as.last();
  9. //    double avg = 0.0;
  10. //    for (Integer itr : as) {
  11. //      avg += itr;
  12. //    }
  13. //    avg /= as.size();
  14. //
  15. //    return new MinMaxAvg<>(min, max, avg);
  16. //  }
  17. //
  18. //  private static MinMaxAvg getMinMaxAvg(ArrayList<Integer> as) {
  19. //    Integer min = Collections.min(as);
  20. //    Integer max = Collections.max(as);
  21. //    double avg = 0.0;
  22. //    for (Integer itr : as) {
  23. //      avg += itr;
  24. //    }
  25. //    avg /= as.size();
  26. //
  27. //    return new MinMaxAvg<>(min, max, avg);
  28. //  }
  29. //
  30. //  private static MinMaxAvg getMinMaxAvg(Set<Integer> as ) {
  31. //    Integer min = Collections.min(as);
  32. //    Integer max = Collections.max(as);
  33. //    double avg = 0.0;
  34. //    for (Integer itr : as) {
  35. //      avg += itr;
  36. //    }
  37. //    avg /= as.size();
  38. //    return new MinMaxAvg<>(min, max, avg);
  39. //  }
  40.  
  41.   private static <T extends Number & Comparable<T>> MinMaxAvg<T> getMinMaxAvg(Collection<T> col) {
  42.     T min = Collections.min(col);
  43.     T max = Collections.max(col);
  44.     double avg = 0.0;
  45.     for (T itr : col) {
  46.       avg += itr.doubleValue();
  47.     }
  48.     avg /= col.size();
  49.     return new MinMaxAvg<>(min, max, avg);
  50.   }
  51.  
  52.   public static void main(String[] args) {
  53.     Integer[] arr = {1, 9, 3, 5, 5};
  54.     System.out.println(getMinMaxAvg(new TreeSet<>(Arrays.asList(arr))));
  55.     System.out.println(getMinMaxAvg(new ArrayList<>(Arrays.asList(arr))));
  56.     System.out.println(getMinMaxAvg(new HashSet<>(Arrays.asList(arr))));
  57.   }
  58. }
  59.  
  60. class MinMaxAvg<T extends Number>  {
  61.   private T min;
  62.   private T max;
  63.   private double avg;
  64.  
  65.   public MinMaxAvg(T min, T max, double avg) {
  66.     this.min = min;
  67.     this.max = max;
  68.     this.avg = avg;
  69.   }
  70.  
  71.   @Override
  72.   public String toString() {
  73.     return "RT{" +
  74.         "min=" + min +
  75.         ", max=" + max +
  76.         ", avg=" + avg +
  77.         '}';
  78.   }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement