Se già conosci la quantità di oggetti da inserire nel "vettore" allora puoi tranquillamente utilizzare l'array.
Per poterlo successivamente ordinare, puoi controllare la classe Arrays (java.util) ed i suoi metodi statici sort() (nel caso del Vector devi, però, prima ottenere un array dal Vector stesso, perchè tali metodi lavorano solo su array).
Il problema del cast è ovvio: Vector è una classe generica che può contenere qualunque tipo di oggetto. Solo tu sai quali oggetti vai ad inserire (non certo il compilatore), quindi quando li andrai ad estrarre dovrai castarli al tipo originario (Vector restituisce, ovviamente, un tipo generico Object):
Per ottenere il primo elemento
codice:
Vector v = new Vector();
v.add( new Entry(...) );
...
Entry e = (Entry) v.elementAt(0);
Per ottenere l'array di oggetti contenuti:
codice:
Entry[] entrySet = new Entry[ v.size() ];
for(int i=0; i<entrySet.length; i++) {
entrySet[i] = (Entry) v.elementAt(i);
}
Per ordinare l'array appena costruito:
codice:
Arrays.sort( entrySet );
Ovviamente ciascuna istanza della classe Entry dovrà essere Comparable (implementare, quindi, tale interfaccia per fornire il metodo di comparazione).
Ciao.