tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von zeja
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
580
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Hi,
    ich möchte, dass ich ein Array (oder Ähnliches) habe, in dem auf jeder Position ein Double und ein String gespeichert wird.
    Man kann jetzt ein String-Array und ein Double-Array erzeugen und jeweils auf das gleiche Element zugreifen, aber geht das nicht auch schöner?

    Gibt es in Java eigentlich auch etwas, mit dem man ähnlich wie in Flash (und auch in C++ glaube ich) folgendes machen kann:
    Code java:
    1
    2
    3
    
    Object o = new Object();
    o["abc"] = 5;
    System.out.println(o.abc);
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Ne Map wäre ne Idee:

    Code java:
    1
    2
    3
    4
    
    Map<String,Double> map = new HashMap<String,Double>();
    map.put("abc",5.0);
    Double value = map.get("abc");
    System.out.println(value);
     

  3. #3
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Ich brauche das Ganze für Folgendes:
    Ich habe ein Programm, das Daten einer Klasse mit Serializable speichert ect. und möchte jetzt so etwas wie eine Zurück-Funktion einbauen. In dieser Klasse sind mehrere Double-Werte, und wenn einer davon in einem Fenster geändert wird, soll das registriert und evtl. später "widerrufen" werden. Ich brauche jetzt also ein Array mit fester Reihenfolge, das den Namen oder eine Identifikations-Nummer und den zugehörigen Wert speichert.
    Ich mache es jetzt aber mit einem Integer- und einem Double-Array, ungefähr so:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    int[] idChanged = new int[100];
    double[] valueChanged = new double[100];
    ...
    void change(int id, double value){
        for(int i = 99; i>0; i++){
            idChanged[i] = idChanged[i-1];
            valueChanged[i] = valueChanged[i-1];
        }
        idChanged[0] = id;
        valueChanged[0] = value;
    }
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  4. #4
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    aha ... und was genau funktioniert daran nicht?
    Sieht doch auf den ersten Blick ganz ok aus

    Gruß
    Klaus

    EDIT:
    bis auf auf Deine FOR-Schleife natürlich ...
    Du startest bei 99 und erhöhst dann i solange, bis i > 0 ist
    Also etwa so
    Code java:
    1
    2
    3
    
    for( int i = 0; i <= 99; i++ )
    // oder 
    for( int i = 99; i >= 0; i-- )
    Geändert von vfl_freak (06.01.10 um 08:18 Uhr) Grund: EDIT
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  5. #5
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Nimm nie zwei Arrays um zwei zusammengehörigen Werte zu speichern. Das allein an der Position festzumachen ist wirklich nicht schön.

    In dem Fall machst du dir eine neues Klasse die beide Werte aufnehmen kann:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    public class IdValuePair {
     
        private int id;
        private double value;
     
        public IdValuePair(int id, double value) {
            this.id = id;
            this.value = value;
         }
     
        public int getId() {
             return this.id;
        }
     
        public int getValue() {
             return this.value;
        }
     
    }

    Dann kannst du ein Array von IdValuePair machen.
    Jellysheep bedankt sich. 

  6. #6
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    @vfl_freak: Ja, danke! Ich hab es im Programm dann auch gemerkt, als eine IndexOutOfBoundsException kam.

    @Zeja: Dankeschön! Genau so etwas hab ich gesucht, wie blind man doch sein kann!
    Die getValue-Methode müsste dann aber einen Double-Rückgabewert haben.
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

Ähnliche Themen

  1. [C++] String einem nummerisches Array zuweisen
    Von crazy_root im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 28.09.08, 11:17
  2. Problem mit String und einem Array
    Von freihsve im Forum PHP
    Antworten: 9
    Letzter Beitrag: 27.09.06, 09:45
  3. String in einem Array speichern
    Von untread im Forum VisualStudio & MFC
    Antworten: 7
    Letzter Beitrag: 28.12.05, 19:50
  4. Array und String in einem?
    Von Azamur im Forum PHP
    Antworten: 0
    Letzter Beitrag: 24.03.05, 18:08
  5. Antworten: 3
    Letzter Beitrag: 04.11.04, 14:31

Stichworte