• CollectionUtils, Predicate & select

    La bibliothèque org.apache.commons.collections.CollectionUtils offre bien des services dont voici un : la recherche dans une collection par Prédicat.

    Il s’agit simplement de rechercher des éléments dans une collection ( List ) et de les stocker dans une liste de sortie grâce à la méthode select.
    Un exemple vaut mieux qu’un long discours:

    public static void main(String[] args) {
    
        List<String> maListe = new ArrayList<String>();
            maListe.add("chat");
            maListe.add("chameau");
            maListe.add("chien");
            maListe.add("oie");
            maListe.add("humain");
            maListe.add("tigre");
    
            List<String> listeAnimalC = new ArrayList<String>();
    
          CollectionUtils.select(maListe, new Predicate() {
    
                public boolean evaluate(Object object) {
                String val =    (String) object;
                return val.startsWith("c");
                }
            },listeAnimalC);
    
            System.out.println(listeAnimalC);
    
        }
    }
    

     

    L’interface Predicate doit définir la méthode evaluate. Cette méthode définit la condition qui sélectionnera l’élément de la collection initiale vers la collection de sortie.
    Dans notre exemple, on décide de conserver dans la liste de sortie les éléments débutant par la lettre « c ».
    La console de sortie affichera naturellement :
    [chat, chameau, chien]

    Categories: Java

    Étiquettes : , ,

    Comments are currently closed.