Olá. Estou com a seguinte dúvida:
Considerando que foi criado um Vector com objetos de uma classe X e que nela existe um atributo ‘title’, eu quero fazer uma busca nesse Vector pra encontrar um determinado objeto de acordo com a String title que eu passar.
O problema é que o método equals implementado nessa classe X apenas faz comparação entre objetos, o que não resolve o meu caso.
Tem alguma forma de eu fazer isso? Ou terei que criar uma classe XY que estenda a classe X e sobrescrever o método equals?
Obrigado.
comparação de objetos em vector
2 Respostas
você pode implementar o metodo equals de forma que ele compare essa propriedade title.
ou então você acessar essa propriedade do objeto com o valor passado em cada iteração do vetor.
Sim, eu pensei nessas possibilidades… mas, primeiro, essa classe não fui eu quem criei, ela faz parte do framework Jena (para trabalhar com ontologias), por isso não tenho como implementar esse método.
Segundo, eu fazer a iteração completa no vetor e ler essa propriedade não será eficiente, uma vez que serão feitas buscas a várias propriedades ‘title’ por vez. Assim, não seria bom ler sequencialmente cada objeto do vetor e comparar a todas essas propriedades. Gostaria de poder usar, pelo menos, a busca binária que é implementada em Vector. Ou então outra mais eficiente.
Obrigado