Pergunta

Se eu tiver um LinkedList de Employee objetos ...

Cada funcionário tem um nome e um campos de identificação.

Eu tenho lista de chamadas LinkedList ....

Se eu quero ver se a lista contém um empregado eu faço:

list.contains(someEmployeeObject)

E se eu quero ver se a lista contém um empregado com base na identificação imployee ..

Vamos dizer que eu tenho o seguinte método:

public boolean containsEmployeeByID(int id)

Como posso saber se a lista contém o objeto empregado com o parâmetro id?

Foi útil?

Solução

Basta caminhar na lista e olhar para os jogos. Se você fizer isso muitas vezes e alterar a lista infreqently, construir um índice Mapa primeiro.

List<Employee> list = ...
for (Employee e : list)
   if (e.getID() == id)
      return true;
return false;

Dito isto, poupando empregados em um LinkedList ?? Que exemplo problema estranho ...

Outras dicas

Talvez você deve estar usando um mapa com a chave ser um ID eo valor sendo o nome do funcionário ou o objeto empregado?

Você poderia substituir seus iguais () método para comparar com base na identificação, no entanto, isso geralmente não é uma prática recomendada.

Outra opção é criar um HashMap e então você pode recuperar seus funcionários pelo seu Id.

for (Employee empl : list) {
    map.put(empl.getId(), empl);
}

String idLookup = "1234";

Employee employee = map.get(idLookup);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top