Originariamente inviato da pdicanio2004
come faccio a eliminari tra i possibili valori da schegliere quelli effettivamente già scelti??????
Cioè in pratica vuoi ottenere numeri "unici", giusto? C'è una buona soluzione, che consiglio spesso, ma che si può fare se il numero di valori possibili non è enorme. Si crea a priori un array che contiene tutti i possibili valori estraibili (anche messi in ordine). Poi man mano si estrae un numero casuale tra 0 e size-1. Si prende il valore nell'array e si "compatta" e si riduce "logicamente" la dimensione dell'array.

Avevo fatto un esempio di questa tecnica in questa discussione.

Originariamente inviato da pdicanio2004
Inoltre nel mio programma scelgo un valore intero per poi scegliere il corrispondente oggetto che si trova all'interno della tabella di tali oggetti, esiste una maniera più diretta e quindi meno sporca per poter eseguire tale scelta???
Beh, non mi sembra poi tanto "sporca". Insomma ... alla fin fine è quello che va fatto.
Se poi proprio vuoi, potresti "incapsulare" questa logica dentro il tuo oggetto in modo da avere ad esempio un metodo extractRandomNeighbour(), tanto per dire. Questo però presuppone di mettere il Random nell'oggetto. Potrebbe non essere una buona cosa dal punto di vista del "design".
In alternativa puoi creare un'altra classe in cui si passa (nel costruttore) il Random e il tuo NeighbourTable. E poi definisci un metodo che estrae casualmente un oggetto.