• wer könnte dieses PHP Codeschnipsel in die Sprache Java portieren.
    (Als Anschauungsbeispiel für mich, zum Verständnis mehrdimensionaler Arrays)

  • Das dauert wohl etwas länger und da ich da jetzt feierabend habe schreib ich dir zu Hause nochmal ^^.


    Ansonsten hier:

    http://www.programmersbase.net/Content/Java/C…/Java/Array.htm

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Salut,

    für assoziative Arrays kannst du in Java die Klasse Dictionary verwenden.

    Multidimensionale Arrays sind auch in Java "Arrays von Arrays":
    Bsp:

    Code
    String[][] dat = {{"Zimmermann", "33", "g3"},
    				{"Müller", "13", "a2"},
    				{"Mustermann", "65", "t4"}};


    Ausgabe dann z.B. wie folgt

    Code
    for (String[] datensatz : test) {
    			System.out.println(datensatz[0]);
    		}

    Alles weitere siehe OpenBook

    Aber mal eine ganz andere Frage, warum verwendest du für die präsentierte Struktur keine Klasse? Dein Code oben ist doch mehr oder weniger eine Notlösung, die mit den Unzulänglichkeiten von PHP begründet sind...


    Ist zwar etwas länger, aber dafür um einiges übersichtlicher und wartbarer...

  • Naja ich spiele mom etwas mit Java und seinen Möglichkeiten rum.

    Also könnte man mit der Struktur wie Sie deine Klasse vorgibt auch etwas wie:
    System.out.println( dat.get("Lisa").getName() );

    bzw müsste es nicht auch als Kurzform so gehen:

    System.out.println( dat.Lisa.name );

    gehen? Also so währe es ja in JS mit "new Object" erstellten speicher möglich.

    machen?


    was bedeutet das: Enumeration<String> elements;

  • Salut,

    Code
    System.out.println( dat.get("Lisa").getName() );


    klar, ob du das als Variable angibst (vorname) oder den String direkt angibst, ist wurst (wie in jeder anderen Programmiersprache auch).

    Dass

    Code
    System.out.println( dat.Lisa.name );


    funktioniert, wage ich allerdings zu bezweifeln, woher soll Java wissen, dass das ein String ist, den du im Hashtable suchst? Das geht doch auch nicht in PHP.

    Code
    Enumeration<String> elements;


    Enumeration ist eine Schnittstelle, die einen Enumerator zur Verfügung stellt, mit String wird der dazugehörige Typ (Stichwort Generische Datentypen) angegeben.

    Code
    elements = dat.keys();


    Die Funktion keys, der Klasse HashTable gibt einen Datentyp zurück, der die Enumeration-Klasse implementiert. Welcher Datentyp das konkret ist, interessiert nicht, da wir nur seine Eigenschaft benötigen, mit hasMoreElements und nextElement durch die Liste zu navigieren.

    Da die Objektorientierung von PHP bis Version 5 mehr als lachhaft war, weiß ich nicht, inwieweit du mit Objektorientierung vertraut bist. Ansonsten einfach konkret nachfragen ;).


    Stefan