public class Firma {
Set<Pracownik> spis=new HashSet<Pracownik>() {};
//a
public Boolean Exist(Pracownik a1){
for(Iterator<Pracownik> it=spis.iterator();it.hasNext();){
Pracownik pracownik=it.next();
if(pracownik.equals(a1))
return true;
}
return false;
}
//b
public void Add(){
Scanner in=new Scanner(System.in);
try{
Pracownik a1=new Pracownik(in.nextLine(),in.nextLine());
int stan=in.nextInt();
switch (stan) {
case 1:
a1.setStanowisko( Stanowisko.DYREKTOR);
break;
case 2:
a1.setStanowisko( Stanowisko.KIEROWNIK);
break;
}
if(this.Exist(a1))
throw new IllegalStateException("Ten pracownik jest już w bazie");
spis.add(a1);
}catch(IllegalStateException e){ e.printStackTrace();
Pracownik a2=new Pracownik(in.nextLine(),in.nextLine());
int stan=in.nextInt();
switch (stan) {
case 1:
a2.setStanowisko( Stanowisko.DYREKTOR);
break;
case 2:
a2.setStanowisko( Stanowisko.KIEROWNIK);
break;
}
spis.add(a2);}
finally{}
}
//c
public int Amount(){
return spis.size();
}
//d
public void Erase(){
Scanner in=new Scanner(System.in);
Pracownik a1=new Pracownik(in.nextLine(),in.nextLine());
spis.removeIf((Pracownik i)->{
return i.equals(a1);
});
}
//e
public void View(){
for(Iterator<Pracownik> it=spis.iterator();it.hasNext();)
{
Pracownik pracownik = it.next();
System.out.println(pracownik);
}
}
//zadanie6
public class zagniezdzona implements Iterator<Pracownik>{
@Override
public boolean hasNext() {
return hasNext();
}
@Override
public Pracownik next() {
return next();
}
}
}
kiedy wywołuje metodę init() to mam java.util.HashMap$[email protected]$[email protected]$KeyIterator@ i tak dlaej i nie wiem dlaczego