Comment trouver les éléments communs entre 2 tableaux en java

Publié le 18 Novembre 2011

Aujourd'hui l'astuce du jour concerne les tableaux ou plus précisément les Collection en java.

En effet il existe une méthode dans l'interface Collection qui permet de ne retenir que les éléments communs entre deux collections:

List<String> croissant = Arrays.asList("1", "2", "3", "4");
List<String> decroissant = Arrays.asList("5", "4", "3");

croissant.retainAll(decroissant);
System.out.println(croissant); // affiche ["3", "4"]

Attention retainAll() modifie directement la liste depuis laquelle la méthode est invoquée. Il faut donc faire une copie préalable si on ne veut pas modifier la liste initiale:

List<String> communs = new ArrayList<String>(croissant);
communs.retainAll(decroissant); 

Rédigé par Bliz

Publié dans #Java

Repost 0
Commenter cet article