Sono sicuro che ci sia una buona ragione, ma qualcuno potrebbe spiegare perché java.util.Set
manca l' interfaccia get(int Index)
o un get()
metodo simile ?
Sembra che i set siano perfetti per mettere le cose, ma non riesco a trovare un modo elegante per recuperare un singolo oggetto da esso.
Se so di volere il primo oggetto, posso usarlo set.iterator().next()
, ma per il resto sembra che debba eseguire il cast su un array per recuperare un elemento in un indice specifico?
Quali sono i modi appropriati per recuperare i dati da un set? (diverso dall'uso di un iteratore)
Sono sicuro che il fatto che sia escluso dall'API significa che c'è una buona ragione per non farlo - qualcuno potrebbe illuminarmi, per favore?
EDIT: Alcune risposte estremamente grandi qui, e alcuni dicono "più contesto". Lo scenario specifico era un test dbUnit, in cui potevo ragionevolmente affermare che il set restituito da una query aveva solo 1 articolo e stavo cercando di accedere a quell'elemento.
Tuttavia, la domanda è più valida senza lo scenario, poiché rimane più focalizzata:
Qual è la differenza tra set e list .
Grazie a tutti per le fantastiche risposte qui sotto.