Er zijn twee manieren om HashSet
te doorlopen:
1) Iterator gebruiken
2) Zonder Iterator te gebruiken
Voorbeeld 1: Iterator gebruiken
java.util.HashSet importeren; import java.util.Iterator; class IterateHashSet {public static void main (String [] args) { // Maak een HashSet HashSet <String> hset = new HashSet <String> (); // elementen toevoegen aan HashSet hset.add ( "Chaitanya"); hset.add ( "Rahul"); hset.add ( "Tim"); hset.add ( "Rick"); hset.add ( "Harry"); Iterator <String> it = hset.iterator (); while (it.hasNext ()) { System.out.println (it.next ()); } } }
Output:
Chaitanya Rick Harry Rahul Tim
Voorbeeld 2: Itereren zonder Iterator te gebruiken
java.util.HashSet importeren; import java.util.Set; class IterateHashSet {public static void main (String [] args) { // Maak een HashSet Set <String> hset = new HashSet <String> (); // elementen toevoegen aan HashSet hset.add ( "Chaitanya"); hset.add ( "Rahul"); hset.add ( "Tim"); hset.add ( "Rick"); hset.add ( "Harry"); voor (String temp: hset) { System.out.println (temp); } } }
Output:
Chaitanya Rick Harry Rahul Tim
Hallo!
Mag ik je een vraag stellen?
Is er een verschil in verklaringen in het eerste en het tweede exemplaar:
HashSet hset = new HashSet (); en
Set hset = new HashSet ();
Technisch gezien, ja, voor de 1e regel codeert u naar een implementatie, terwijl u voor de 2e regel codeert naar een interface. Met andere woorden, hashset is een concrete klasse, terwijl de Seet een interface is
Het is altijd een goed idee om de interfacenaam links van goede software engineering te plaatsen. Het verbergt implementatiedetails.