Hai forse ancora le idee un po' confuse. Una interfaccia rappresenta una astrazione "pura", tutti i metodi elencati nella interfaccia sono abstract. Infatti una interfaccia serve per descrivere cosa deve fare un oggetto ma non come deve farlo. E tipicamente le interfacce si usano per definire un "contratto" che la implementazione della interfaccia deve (per forza) rispettare e su cui l'utilizzatore della interfaccia può contare.
Il iterator() di Vector ti restituisce un oggetto, di una certa classe (non è nemmeno necessario sapere quale/dove è, tra l'altro è nascosta in Vector, non visibile dall'esterno) che sicuramente implementa Iterator. E questo è assolutamente sufficiente a te che vuoi solo sfruttare il principio della iterazione sulla collezione.![]()