Oi pessoal, bom dia, tudo bem?
Baixei um livro da Caelum: Java e Orientação a Objetos, e lá fiquei sabendo do GUJ.
Esse é o meu primeiro post, me ajudem a montar o post, por favor… imagino que seja possível editar, então aceito sugestões e dicas, obrigado 
Então, vamos lá…
Tenho um projeto pronto aqui mas não to entendendo duas coisas:
método insereEmpregado(Empregado emp):
public boolean insereEmpregado(Empregado emp) {
if (pos > this.empregados.length){
return false;
}else{
this.empregados[pos] = emp;
pos++;
return true;
}
}
método removeEmpregado(int idx):
public boolean removeEmpregado(int idx) {
if (pos == 0 || idx < 0){
return false;
}else{
Empregado tempEmpregado[] = new Empregado[this.empregados.length];
int j = 0;
for (int i = 0; i < pos; i++){
if (i != idx){
tempEmpregado[j] = this.empregados[i];
j++;
}
}
this.empregados = tempEmpregado;
pos--;
return true;
}
}
início da classe pra ajudar vocês a me ajudar 
public class FolhaDePagamento {
private Empregado []empregados;
private int pos = 0;
public FolhaDePagamento(int nEmp){
super();
empregados = new Empregado[nEmp];
}
Enfim, o que peço é: vocês podem me comentar e explicar o que tá acontecendo em mínimos detalhes nos dois métodos?
Muito obrigado 
