Java Programm mit HashSet Objekt?


25.05.2022, 14:49

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));
			}


25.05.2022, 14:59

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

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.


Jathe677 
Beitragsersteller
 26.05.2022, 11:50

Erstmal Danke für die Antwort. ja, ist deutlich übersichtlicher mit einer for each Schleife . Habs geändert :)