Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package compito.impiegato;
- import java.util.LinkedList;
- import compito.impiegato.interfaccia.ImpiegatoInterface;
- public class Impiegato implements ImpiegatoInterface {
- private final int salario;
- private final String name;
- private int bonus;
- private final String dipartimento;
- public Impiegato(int salario) {
- this.salario = salario;
- this.name = "";
- this.dipartimento = "Generale";
- }
- public Impiegato(int salario, String nome) {
- this.salario = salario;
- this.name = nome;
- this.dipartimento = "Generale";
- }
- public Impiegato(int salario, String nome, int buff) {
- this.salario = salario;
- this.name = nome;
- this.bonus = buff;
- this.dipartimento = "Generale";
- }
- public Impiegato(int salario, String nome, int buff, String dipartiment) {
- super();
- this.salario = salario;
- this.name = nome;
- this.bonus = buff;
- this.dipartimento = dipartiment;
- }
- public int getSalario() {
- return salario;
- }
- public boolean leggiImpiegato(LinkedList<? extends Impiegato > coll) {
- return coll.contains(this);
- }
- @Override
- public String toString() {
- return "Impiegato [nome = "+ this.name+"] salario=" + salario + "]";
- }
- public String getName() {
- return this.name;
- }
- public int getBonus() {
- return bonus;
- }
- public void setBonus(int bonus) {
- this.bonus = bonus;
- }
- public String getDipartimento() {
- return this.dipartimento;
- }
- }
- package compito.impiegato.interfaccia;
- public interface ImpiegatoInterface {
- public int getSalario();
- }
- package compito.impiegato.impiegatoexception;
- public class ImpiegatoException extends Exception{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- public ImpiegatoException(String arg0) {
- super(arg0);
- }
- }
- package compito.scuola;
- import java.nio.charset.Charset;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import java.util.Optional;
- import java.util.Set;
- import java.util.TreeSet;
- import java.util.stream.Collector;
- import java.util.stream.Collectors;
- import java.util.stream.IntStream;
- import java.util.stream.Stream;
- import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction;
- import compito.impiegato.Impiegato;
- public class Main {
- public static void main(String[] args) {
- LinkedList<Impiegato> lista = new LinkedList<>();
- Impiegato gigi = new Impiegato(50, "Gigi", 10, "Pulizie");
- Impiegato pigi = new Impiegato(500, "Pigi", 40, "Acquisti");
- Impiegato tigi = new Impiegato(5000, "Tigi", 150, "Pulizie");
- Impiegato vigi = new Impiegato(50000, "Vigi", 0,"Management");
- Impiegato luca = new Impiegato(920, "Luca", 5, "Vendite");
- Impiegato Paolo = new Impiegato(920, "Paolo", 0, "Contratto");
- lista.add(gigi);
- lista.add(vigi);
- lista.add(tigi);
- lista.add(pigi);
- lista.add(luca);
- lista.add(Paolo);
- Map<String, Optional<String>> MaxENamebyDepartment = lista.stream()
- .collect(Collectors.groupingBy(Impiegato::getDipartimento,
- Collectors.mapping((x) -> x,
- Collectors.mapping(Impiegato::getSalario,
- Collectors.maxBy(Comparator.comparing(Impiegato::getSalario))
- ))));
- System.out.println("Nome degli impiegati con salario Massimo per Dipartimento");
- System.out.println(MaxENamebyDepartment);
- System.out.println("\n");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement