Java Programm mit HashSet Objekt?
Guten Tag, ich verstehe bei dieser Aufgabe nicht ganz genau wie ich jedes Zeichen zu mySet hinzuzufügen. Könnte ich mit CharAt() die jeweiligen Zeichen der Kommandozeilenparamter durchlaufen und dann mit add() zu mySet hinzufügen?
Gruß
Also irgendwie so:
for(int i = 0; i < args.length; ++i) {
for(int j = 0; j < args[i].length(); ++j) {
myset.add(args[i].charAt(j));
}
So würde für die ersten Teilaufgaben meine Lösung aussehen. Kleine Zusatzfrage: HashSets sind Menge in denen das gleiche Element nicht mehrfach vorkommt, oder?
package aufgabe11;
import java.util.HashSet;
import java.util.Iterator;
public class TeilaufgabeB {
public static void main(String[] args) {
HashSet<Character> mySet = new HashSet<Character>();
for(int i = 0; i < args.length; ++i) {
for(int j = 0; j < args[i].length(); ++j) {
mySet.add(args[i].charAt(j));
}
}
Iterator<Character> iter = mySet.iterator();
while (iter.hasNext()) {
Character s = iter.next();
System.out.print(s);
}
}
}
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, programmieren
Könnte ich mit CharAt() die jeweiligen Zeichen der Kommandozeilenparamter durchlaufen und dann mit add() zu mySet hinzufügen?
Ja, deine Lösung ist meines Erachtens richtig.
Die Ausgabe kannst du übrigens verkürzen. Jedes iterierbare Objekt kann von einer for-each-Schleife durchlaufen werden.
for (Character entry : mySet) {
System.out.print(entry);
}
HashSets sind Menge in denen das gleiche Element nicht mehrfach vorkommt, oder?
Genau. Duplikate sind in Sets nicht zulässig.
Erstmal Danke für die Antwort. ja, ist deutlich übersichtlicher mit einer for each Schleife . Habs geändert :)