Advertisement
Guest User

Quello che serve

a guest
May 22nd, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. package compito.impiegato;
  2.  
  3. import java.util.LinkedList;
  4.  
  5. import compito.impiegato.interfaccia.ImpiegatoInterface;
  6.  
  7. public class Impiegato implements ImpiegatoInterface {
  8. private final int salario;
  9. private final String name;
  10. private int bonus;
  11. private final String dipartimento;
  12.  
  13. public Impiegato(int salario) {
  14. this.salario = salario;
  15. this.name = "";
  16. this.dipartimento = "Generale";
  17. }
  18.  
  19. public Impiegato(int salario, String nome) {
  20. this.salario = salario;
  21. this.name = nome;
  22. this.dipartimento = "Generale";
  23.  
  24. }
  25.  
  26. public Impiegato(int salario, String nome, int buff) {
  27. this.salario = salario;
  28. this.name = nome;
  29. this.bonus = buff;
  30. this.dipartimento = "Generale";
  31. }
  32.  
  33. public Impiegato(int salario, String nome, int buff, String dipartiment) {
  34. super();
  35. this.salario = salario;
  36. this.name = nome;
  37. this.bonus = buff;
  38. this.dipartimento = dipartiment;
  39. }
  40.  
  41. public int getSalario() {
  42. return salario;
  43. }
  44.  
  45. public boolean leggiImpiegato(LinkedList<? extends Impiegato > coll) {
  46. return coll.contains(this);
  47. }
  48.  
  49. @Override
  50. public String toString() {
  51. return "Impiegato [nome = "+ this.name+"] salario=" + salario + "]";
  52. }
  53.  
  54. public String getName() {
  55. return this.name;
  56. }
  57.  
  58. public int getBonus() {
  59. return bonus;
  60. }
  61.  
  62. public void setBonus(int bonus) {
  63. this.bonus = bonus;
  64. }
  65.  
  66. public String getDipartimento() {
  67. return this.dipartimento;
  68. }
  69.  
  70.  
  71.  
  72. }
  73.  
  74.  
  75. package compito.impiegato.interfaccia;
  76.  
  77. public interface ImpiegatoInterface {
  78. public int getSalario();
  79. }
  80.  
  81. package compito.impiegato.impiegatoexception;
  82.  
  83. public class ImpiegatoException extends Exception{
  84.  
  85. /**
  86. *
  87. */
  88. private static final long serialVersionUID = 1L;
  89.  
  90. public ImpiegatoException(String arg0) {
  91. super(arg0);
  92. }
  93.  
  94. }
  95.  
  96. package compito.scuola;
  97.  
  98. import java.nio.charset.Charset;
  99. import java.util.Collections;
  100. import java.util.Comparator;
  101. import java.util.LinkedList;
  102. import java.util.List;
  103. import java.util.Map;
  104. import java.util.Optional;
  105. import java.util.Set;
  106. import java.util.TreeSet;
  107. import java.util.stream.Collector;
  108. import java.util.stream.Collectors;
  109. import java.util.stream.IntStream;
  110. import java.util.stream.Stream;
  111.  
  112. import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction;
  113.  
  114. import compito.impiegato.Impiegato;
  115.  
  116. public class Main {
  117.  
  118. public static void main(String[] args) {
  119. LinkedList<Impiegato> lista = new LinkedList<>();
  120.  
  121. Impiegato gigi = new Impiegato(50, "Gigi", 10, "Pulizie");
  122. Impiegato pigi = new Impiegato(500, "Pigi", 40, "Acquisti");
  123. Impiegato tigi = new Impiegato(5000, "Tigi", 150, "Pulizie");
  124. Impiegato vigi = new Impiegato(50000, "Vigi", 0,"Management");
  125. Impiegato luca = new Impiegato(920, "Luca", 5, "Vendite");
  126. Impiegato Paolo = new Impiegato(920, "Paolo", 0, "Contratto");
  127.  
  128.  
  129. lista.add(gigi);
  130. lista.add(vigi);
  131. lista.add(tigi);
  132. lista.add(pigi);
  133. lista.add(luca);
  134. lista.add(Paolo);
  135.  
  136.  
  137. Map<String, Optional<String>> MaxENamebyDepartment = lista.stream()
  138. .collect(Collectors.groupingBy(Impiegato::getDipartimento,
  139. Collectors.mapping((x) -> x,
  140. Collectors.mapping(Impiegato::getSalario,
  141. Collectors.maxBy(Comparator.comparing(Impiegato::getSalario))
  142. ))));
  143.  
  144. System.out.println("Nome degli impiegati con salario Massimo per Dipartimento");
  145. System.out.println(MaxENamebyDepartment);
  146. System.out.println("\n");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement