Le plus simple : videz toute la collection dans un Set (en utilisant le constructeur Set(Collection) ou Set.addAll), puis regardez si le Set a la même taille que la ArrayList.
List<Integer> list = ...;
Set<Integer> set = new HashSet<Integer>(list);
if(set.size() < list.size()){
/* There are duplicates */
}
Mise à jour : Si je comprends bien votre question, vous avez un tableau 2d de Block, comme dans
Tableau de blocs[][] ;
et vous voulez détecter si l'une de ces lignes contient des doublons ?
Dans ce cas, je pourrais faire ce qui suit, en supposant que Block implémente correctement "equals" et "hashCode" :
for (Block[] row : table) {
Set set = new HashSet<Block>();
for (Block cell : row) {
set.add(cell);
}
if (set.size() < 6) { //has duplicate
}
}
Je ne suis pas sûr à 100% de la syntaxe, il est donc peut-être plus sûr de l'écrire comme
for (int i = 0; i < 6; i++) {
Set set = new HashSet<Block>();
for (int j = 0; j < 6; j++)
set.add(table[i][j]);
...
Set.add
renvoie un booléen faux si l'élément ajouté est déjà dans l'ensemble, donc vous pourriez même court-circuiter et abandonner tout ajout qui renvoie false
si tout ce que vous voulez savoir est s'il y a des doublons.