Dipende, puoi cambiare le strutture che usi?
In questi casi io preferisco l'uso di una mappa (Map) e una sua implementazione (HashMap)
in particolare, creo una situazione in cui
codice:
Map<Chiave, Valore> map = new HashMap<Chiave, Valore>();
mettendo come chiave il parametro che uso come metro di ricerca (in questo caso il nome fermata) e il valore è l'oggetto che mi interessa reperire rapidamente.
Visto che stai parlando di stringhe, usare una roba del genere
codice:
Map<String, String> map = new HashMap<String, String>();
garantisce accesso rapido, ma ridondanza (chiave e valore alla fine sono uguali). Dovrebbe andarti bene con
codice:
List<String> list = new ArrayList<String>();
....
list.get(nomeFermata);
ma solo per il fatto che usi String (che ha ben sistemate equals e hashcode)