Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich sehe gerade, dass ich Schachfigur[][] falsch interpretiert habe.
1. (F) Ist schlecht weil HashMap passt nicht für erlaubte Befehle
2. (F) Geht, aber Arraylist passt nicht gut für Schachbrett
3. (F) Weil A falsch ist
4. (R) Geht
Was denkt ihr?
Grundsätzlich kann man mal festhalten, dass es zu einem Wort mehrere Synonyme geben kann. Von daher scheidet 1. schon mal aus. Auch will man kein Array von Synonymwörterbüchern speichern, weshalb 3. ausscheidet.
Zum Speichern eines Schachbretts ist es nicht ausschlaggebend, ob man hierfür ein Array oder eine List (ArrayList) verwendet. Das funktioniert beides gleichermaßen, es ist aber vielleicht etwas unnatürlich ein zweidimensionales Schachbrett mit einer Liste darzustellen. Würde also eher für Lösung 4 sprechen.
Zutaten in einem Rezept... Ansichtssache. Man kann die Zutaten in einem Rezept z. B. auf Gericht und Sauce aufteilen. Genauso gut kann man argumentieren, dass Salz nur einmal in der Zutatenliste auftauchen muss. Üblich ist aber eher, dass ein Rezept eine Zutat durchaus öfter enthalten kann. Würde also eher für Lösung 4 sprechen.
Um die Existenz eines Befehls festzustellen, reicht es, wenn man die Menge (Set) der Befehle kennt. Außerdem lässt sich die Existenz mit einem HashSet in konstanter Zeit feststellen. Auch das würde eher für Lösung 4 sprechen.
Sehe ich ähnlich. Aaaber. Wenn wir es genau nehmen wäre keine der Antworten "ideal". Meine Meinung: Die ArrayList im Snonymwörterbuch und als Zutatenliste sollte ein HasSet sein.
Denn ArrayList lässt mehrere identische Objekte zu. Das ergibt weder für die Synonyme eines Wortes einen Sinn, noch als Zutatenliste (ich nehme ebenfalls an: in einem Rezept). Wegen der Zutaten kann man sich jetzt streiten, aber die Rezepte, die ich bisher gesehen habe nennen alle Zutaten am Anfang. Wenn dann eine Sauce o.ä. "dazugekocht" werden soll, wäre es ein weiteres Rezept in diesem Rezept.
Bzgl. der Synonyme stimme ich Dir uneingeschränkt zu und auch bei den Rezepten wären Teilrezepte sicher die bessere Lösung. Allerdings ist es nicht unüblich, in Rezepten die Zutaten in der Reihenfolge ihrer Verwendung niederzuschreiben. Von daher wäre ein HashSet eher ungünstig.
Persönlich kann ich das überhaupt nicht leiden, wenn Zutaten gesplittet aufgeführt werden. Ich will vorher wissen, wovon ich wie viel brauche und nicht plötzlich feststellen: oh, da stehen ja nochmal 50 g Puderzucker (z. B. zum Bestreuen), reicht mir das Päckchen doch nicht. Beim Fett: 100 g Butter (für den Teig) und 25 g Butter (zum Einfetten der Backform) usw.
Was die Sauce betrifft: das war natürlich ein blödes Beispiel. Die kocht man nicht immer dazu: wenn Du Dampfnudeln mit Vanillesauce machst, klar. Bei einem Braten oder Schmorgerichten entsteht die Sauce beim Braten/Schmoren. Allerdings wüßte ich gerade nicht, welche Zutaten mit Ausnahme von Gewürzen sich da wiederholen würden. Obwohl, bei Rouladen könnte man eine Zwiebel für die Füllung brauchen und eine (halbe) Zwiebel in die Sauce legen.