Il E è una type-variable e lo devi vedere come una specie di "segnaposto". Il suo tipo non lo sai quale sarà realmente. A livello di bytecode, per effetto della "erasure", un E senza bounds viene tradotto in Object.
Data la tua classe qualcuno potrà fare es.
ElasticSet<String> s = new ElasticSet<String>();
o
ElasticSet<Date> s = new ElasticSet<Date>();
o di qualunque altro tipo reference.
Qui non c'entrano i generics. Gli oggetti non si comparano con gli operatori relazionali. Entrano in gioco due interfacce definite nel framework: Comparable e Comparator. Tutti i concetti di ordinamento gestiti e forniti dal framework si basano su queste due interfacce standard.
Il discorso sarebbe un po' più lungo ....
ArrayList e Vector sono entrambi delle liste, espandibili e indirizzate per indice. Tecnicamente sono diverse come implementazione, performance e per alcuni nomi di metodi.
Per un esercizio "didattico" come il tuo non credo che la differenza sia rilevante (a meno che chi ti ha dato l'esercizio si aspetti qualcosa di preciso o abbia dato indicazioni in tal senso)
P.S. visto che parli di ElasticSet, Set, metodo glb ecc... riconosco la correlazione con una discussione, proprio di oggi, su un altro forum:
http://www.iprogrammatori.it/forum-p...le-t25994.html


Rispondi quotando
