Marcelo,

Acho q assim resolve...

import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.Predicate;
public class DynamicPredicate implements Predicate {
    private String property;
    private Comparable value;
    public DynamicPredicate(String _property, Comparable _value) {
        property = _property;
        value = _value;
    }
    public boolean evaluate(Object input) {
        boolean equal = false;
        try {
          Comparable comparable =
(Comparable)PropertyUtils.getProperty(input, property);
          equal = (value.compareTo(comparable) == 0);
        }
        catch (Exception e) { e.printStackTrace(); }
        return equal;
    }
}

import org.apache.commons.collections.CollectionUtils;
public class CollectionsUtil {
    public static Object find(Collection collection, String property,
Comparable value) {
        return CollectionUtils.find(collection, new
DynamicPredicate(property, value));
    }
}

// Para encontrar o cliente JOSE MARIA
Client cliente = (Client)CollectionsUtil.find(list, "nome", "JOSE MARIA");

Espero ter ajudado...

[], Gustavo Muniz.


-----Mensagem original-----
De: Marcelo Beckmann [mailto:[EMAIL PROTECTED]
Enviada em: quinta-feira, 9 de dezembro de 2004 14:39
Para: [EMAIL PROTECTED]
Assunto: [JUG-Petro] Search em lists

Ol� a todos,

gostaria da opni�o dos colegas de como proceder
quando se tem um List ou Set, e se quer buscar um elemento
dessa lista que atenda a determinadas condi��es.

Por exemplo uma lista do seguinte objeto:

public class Client
{
   /..
   private int id;
   private String nome
   //...

   //... getters e setters
}

Gostaria de saber como voc�s buscariam um objeto Client dessa lista cujo
nome seja "JOSE MARIA", sem ter que criar um loop
no meio do c�digo da aplica��o. Para voc�s, qual seria a maneira mais
elegante de implementar isso?

Desde j� agrade�o a aten��o,

[]�s
Marcelo Beckmann



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/5cFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/jug-petropolis/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Atrašyti