tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1546
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    geisendorf geisendorf ist offline Grünschnabel
    Registriert seit
    Jan 2008
    Beiträge
    1
    Hallo,

    bin noch ziemlicher Java Neuling und versuche Multi-Agenten Simulation zu lernen.

    Ich habe mehrere Objekte mit verschiedenen Attributen und möchte die nach einem der Attribute sortieren (einem Zahlenwert), so dass ich hinterher auf den ärmsten und reichsten Agenten zugreifen kann.

    Wie kriege ich diese Angaben in eine Liste (bzw. Array?) und dann nach dem Vorrat sortiert?

    Hier die Codeangaben:

    Agent2 typ = new Agent2();
    Agent2 mädel = new Agent2();
    Agent2 kumpel = new Agent2();

    // Zuweisung von Daten für die Attribute der Agenten.

    typ.freund = mädel;
    typ.vorrat = 0.5;
    typ.blutzucker = .02;
    typ.gewicht = 80.;

    mädel.freund = kumpel;
    mädel.vorrat = 0.1;
    mädel.blutzucker = .02;
    mädel.gewicht = 59.;

    kumpel.freund = mädel;
    kumpel.vorrat = 0.7;
    kumpel.blutzucker = .03;
    kumpel.gewicht = 72.;

    Wär klasse, wenn das jemand beschreiben kann.

    Danke

    Sylvie
     

  2. #2
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Agenten sind grad groß in Mode, was?

    Die Klasse Arrays besitzt eine methode sort, die eine Liste von Typen aufnimmt und einen Comparator für diesen Typ. Das kann dann so aussehen:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    
    Arrays.sort(agenten, new Comparator<Agent>() {
     
      public int compare(Agent first, Agent second) {
        // Vergleich hier implementieren und was negatives zurückgeben, 
        // wenn first kleiner ist, was positives wenn second kleiner ist bzw. 
        // 0 wenn beide gleich sind.
      }
    });
    Geändert von Oliver Gierke (23.01.08 um 07:33 Uhr)
     

  3. #3
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Zitat Zitat von Oliver Gierke Beitrag anzeigen
    Agenten sind grad groß in Mode, was?

    Die Klasse Arrays besitzt eine methode sort, die eine Liste von Typen aufnimmt und einen Comparator für diesen Typ. Das kann dann so aussehen:
    Oder wenn du das in ner ArrayList/List/Vector hast gibts auch noch das zugehörige equivivalent Collections.sort
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  4. #4
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Du hast recht. Undeutlich formuliert. Hast du ein Array -> Arrays.sort(..), hast du irgend einen Collectiontyp -> Collections.sort(..).

    Gruß
    Ollie
     

Ähnliche Themen

  1. Objekte in einem Array sortieren
    Von greenslot im Forum PHP
    Antworten: 5
    Letzter Beitrag: 07.12.10, 15:32
  2. Antworten: 3
    Letzter Beitrag: 03.08.10, 17:08
  3. Attribute von einem XML-Schema lesen
    Von RE-DIK im Forum XML Technologien
    Antworten: 5
    Letzter Beitrag: 09.02.10, 15:10
  4. Antworten: 5
    Letzter Beitrag: 24.09.08, 00:10
  5. Antworten: 3
    Letzter Beitrag: 04.02.06, 14:46