Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.12 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class Group {
  5.     public List<Engine> engines;
  6.  
  7.     private Group() {}
  8.  
  9.     public Group(List<Engine> engines) {
  10.         this.engines = new ArrayList<>(engines);
  11.     }
  12.  
  13.     // Возвращает количество элементов
  14.     public int getLenght() {
  15.         return engines.size();
  16.     }
  17.  
  18.     // возвращает лист элементов
  19.     public List<Engine> getEngines() {
  20.         return engines;
  21.     }
  22.  
  23.     // Удаляет элемент по индексу
  24.     public void deleteItem(int index) {
  25.         engines.remove(index);
  26.     }
  27.  
  28.     // Добавляет элемент
  29.     public <T extends Engine> void addItem(T item) {
  30.         engines.add(item);
  31.     }
  32.  
  33.  
  34.  
  35. //    // поиск по имени
  36. //    public Group searchName(String name) {
  37. //        Group res;
  38. //        res = new Group(engines.stream().filter(x -> x.getName() == name).collect(Collectors.toList()));
  39. //        return res;
  40. //    }
  41. //
  42. //    // поиск по мощности
  43. //    public Group searchPower(int power) {
  44. //        Group res;
  45. //        res = new Group(engines.stream().filter(x -> x.getPower() == power).collect(Collectors.toList()));
  46. //        return res;
  47. //    }
  48. //
  49. //    // поиск по крутящему моменту
  50. //    public Group searchTotque(int torque) {
  51. //        Group res;
  52. //        res = new Group(engines.stream().filter(x -> x.getTorque() == torque).collect(Collectors.toList()));
  53. //        return res;
  54. //    }
  55. //
  56. //    // поиск по наличию присадок
  57. //    public Group searchAdditives(boolean add) {
  58. //        Group res;
  59. //        res = new Group(pickEngineByClass(CombustionEngine.class, engines).stream().filter(
  60. //                x -> x.getAdditivies() == add).collect(Collectors.toList()));
  61. //        return res;
  62. //    }
  63. //
  64. //    // поиск по плотности топлива
  65. //    public Group searchFuelDensity(int fuel_density) {
  66. //        Group res;
  67. //        res = new Group(pickEngineByClass(JetTutboEngine.class, engines).stream().filter(
  68. //                x -> x.getFuel_density() == fuel_density).collect(Collectors.toList()));
  69. //        return res;
  70. //    }
  71. //
  72. //    // поиск по качеству топлева
  73. //    public Group searchFuelQuality(boolean fuel_quality) {
  74. //        Group res;
  75. //        res = new Group(pickEngineByClass(DieselEngine.class, engines).stream().filter(
  76. //                x -> x.getFuel_quality() == fuel_quality).collect(Collectors.toList()));
  77. //        return res;
  78. //    }
  79.  
  80.     // возвращает лист с указанными двигателями
  81.     private static <T extends Engine> List<T> pickEngineByClass(Class<T> concreteClass, List<? extends Engine> engines) {
  82.         return (List<T>) engines.stream()
  83.                 .filter(engine -> engine.getClass().equals(concreteClass))
  84.                 .collect(Collectors.toList());
  85.     }
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116. //    // вывод информации о двигателях в консоль
  117. //    public void printListEngin() {
  118. //        engines.forEach(elem ->{
  119. //            System.out.println("Name:   " + elem.getName());
  120. //            System.out.println("Power:  " + elem.getPower());
  121. //            System.out.println("Torque: " + elem.getTorque());
  122. //            if( elem instanceof DieselEngine ){
  123. //                System.out.println("Fuel quality: " + ((DieselEngine)elem).getFuel_quality());
  124. //            } else if( elem instanceof JetTutboEngine ){
  125. //                System.out.println("Fuel density: " + ((JetTutboEngine)elem).getFuel_density());
  126. //            } else {
  127. //                System.out.println("Additives: " + ((CombustionEngine)elem).getAdditivies());
  128. //            }
  129. //        });
  130. //
  131. ////        takeEngines(engines);
  132. //    }
  133.  
  134.  
  135.  
  136. //    // сортировка по имени
  137. //    public Group sortName() {
  138. //        Group res = new Group(this.engines);
  139. //        Collections.sort(res.engines, (x, y) -> x.getName().compareToIgnoreCase(y.getName()));
  140. //        return res;
  141. //    }
  142. //
  143. //    // сортировка по мощности
  144. //    public Group sortPower() {
  145. //        List<Engine> qwe = new ArrayList<>(engines);
  146. //        Collections.sort(qwe, (Engine x, Engine y) -> ((Integer) x.getPower()) == ((Integer) y.getPower()) ? 0 :
  147. //                ((Integer) x.getPower()) > ((Integer) y.getPower()) ? 1 : -1);
  148. //        Group res = new Group(qwe);
  149. //        return res;
  150. //    }
  151. //
  152. //    // сортировка по крутящему моменту
  153. //    public Group sortTorque() {
  154. //        List<Engine> qwe = new ArrayList<>(engines);
  155. //        Collections.sort(qwe, (Engine x, Engine y) -> ((Integer) x.getTorque()) == ((Integer) y.getTorque()) ? 0 :
  156. //                ((Integer) x.getTorque()) > ((Integer) y.getTorque()) ? 1 : -1);
  157. //        Group res = new Group(qwe);
  158. //        return res;
  159. //    }
  160.  
  161.  
  162. //    public static void takeEngines(List<Engine> engines) {
  163. //        for (DieselEngine item : pickEngineByClass(DieselEngine.class, engines)) {
  164. //            System.out.println("Name:   " + item.getName());
  165. //            System.out.println("Power:  " + item.getPower());
  166. //            System.out.println("Torque: " + item.getTorque());
  167. //            System.out.println("Fuel quality:" + item.getFuel_quality());
  168. //
  169. //        }
  170. //        for (JetTutboEngine item : pickEngineByClass(JetTutboEngine.class, engines)) {
  171. //            System.out.println("Name:   " + item.getName());
  172. //            System.out.println("Power:  " + item.getPower());
  173. //            System.out.println("Torque: " + item.getTorque());
  174. //            System.out.println("Fuel density:" + item.getFuel_density());
  175. //        }
  176. //        for (CombustionEngine item : pickEngineByClass(CombustionEngine.class, engines)) {
  177. //            System.out.println("Name:   " + item.getName());
  178. //            System.out.println("Power:  " + item.getPower());
  179. //            System.out.println("Torque: " + item.getTorque());
  180. //            System.out.println("Additivec:" + item.getAdditivies());
  181. //        }
  182. //    }
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement