Recentemente ho avuto bisogno di fare uno scenario 'caso speciale' se nella raccolta è presente un solo elemento. Verifica del ...size() == 1
e il recupero utilizzando ...iterator.next()
sembrava brutto così ho creato due metodi nella classe di birra fatta in casa Collezioni:Verificare se esiste un solo elemento utilizzando Guava
public class Collections {
public static <T> boolean isSingleValue(Collection<T> values) {
return values.size() == 1;
}
public static <T> T singleValue(Collection<T> values) {
Assert.isTrue(isSingleValue(values));
return values.iterator().next();
}
}
Pochi giorni fa ho scoperto che Guava ha metodo chiamato Iterables.getOnlyElement. Copre il mio bisogno e sostituisce singleValue
, ma non riesco a trovare la corrispondenza per isSingleValue
. È per progetto? Vale la pena mettere la richiesta di funzionalità per il metodo Iterables.isOnlyElement
?
EDIT: Dato che c'erano poche upvotes ho deciso di aprire la valorizzazione sul guava - issue 957. Risoluzione finale - 'WontFix'. Gli argomenti sono molto simili a quelli forniti da Thomas/Xaerxess.
Questo non è chiaro, che cosa significa "io per risolvere" significa? Stai dicendo che questa è una soluzione o che stai lavorando al problema? –
Questa è la soluzione, per me. – Falci