Ola, sou iniciante ainda em programação e estou com um problema pra usar listas em java, sempre acontece que repete na mesma lista as informações, entao não sei muito o que fazer pois ainda tou aprendendo, abaixo esta meu codigo:
public class exlistas {
public static void main(String[] args) {
System.out.print("How many employees wil be "
+ "registered?");
Scanner leia = new Scanner(System.in);
dadoslista dadoslista = new dadoslista();
dadosusuario dados = new dadosusuario();
int qtd = leia.nextInt();
for(int i = 1; i<=qtd; i++) {
System.out.println("Employoee #" + i);
System.out.print("Id: ");
dadoslista.setId(leia.nextInt());
System.out.print("Name: ");
leia.nextLine();
dadoslista.setNome(leia.nextLine());
System.out.println("Salary: ");
dadoslista.setSalario(leia.nextDouble());
dados.getListagemDeDados().add(dadoslista);
}
System.out.println(dados);
leia.close();
}
}
public class dadosusuario {
List<dadoslista> listagemDeDados = new ArrayList<dadoslista>();
@Override
public String toString() {
return "dadosusuario [listagemDeDados=" + listagemDeDados + "]";
}
public List<dadoslista> getListagemDeDados() {
return listagemDeDados;
}
public void setListagemDeDados(List<dadoslista> listagemDeDados) {
this.listagemDeDados = listagemDeDados;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((listagemDeDados == null) ? 0 : listagemDeDados.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
dadosusuario other = (dadosusuario) obj;
if (listagemDeDados == null) {
if (other.listagemDeDados != null)
return false;
} else if (!listagemDeDados.equals(other.listagemDeDados))
return false;
return true;
}
}
public class dadoslista {
private int id;
private String nome;
private double salario;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
long temp;
temp = Double.doubleToLongBits(salario);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
dadoslista other = (dadoslista) obj;
if (id != other.id)
return false;
if (nome == null) {
if (other.nome != null)
return false;
} else if (!nome.equals(other.nome))
return false;
if (Double.doubleToLongBits(salario) != Double.doubleToLongBits(other.salario))
return false;
return true;
}
@Override
public String toString() {
return "dadoslista id=" + id + ", nome=" + nome + ", salario=" + salario;
}
}