Les tableaux obtenus à partir de DB sont souvent incertains. Je me suis demandé s'il serait possible d'exprimer une telle vérification de correspondance de tableau avec le moins de code possible. Je veux le faire proprement, donc la situation devrait être la suivante
Les types simples tels que String et Integer peuvent être triés avec Stream.sorted ()
.
Cependant, ce n'est pas le cas.
De plus, il n'y a pas de problème si vous définissez un comparateur.
NullPointerException.
Inutile de dire ici
Sample.java
public boolean isEqualsList(List<?> a, List<?> b){
return Arrays.equals(a.stream().sorted().toArray(), b.stream().sorted().toArray());
}
Même si vous définissez un comparateur, il semble être à peine soigné.
Sample.java
public boolean isEqualsList(Comparator comp, List<?> a, List<?> b){
return Arrays.equals(a.stream().sorted(comp).toArray(), b.stream().sorted(comp).toArray());
}
J'ai pu écrire en une phrase. C'est désagréable que toArray () soit Object [], mais ce n'est qu'une vérification de correspondance, donc il n'y a pas de problème.
Recommended Posts