1. #1
    U-Labs Elite
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 619 Times in 218 Posts

    Standard Java Collection Framework - Help

    Heey ! Da bei unserem nächsten Test Collections vorkommen werde und unser Lektor einfach unfähig ist, ein anständiges Skript darüber bereitzustellen, such ich nun hier paar Videos oder eben paar Dokumente, die alles über Collections erklären..
    Hab mir auch das Galileo Computing eBook da durchgelesen, nur würde ich wie bereits oben gesagt, noch paar Videos oder eben Dokumente darüber anschauen/lesen..

    Falls ihr Passende habt, bitte posten.

    Lg, Saad.
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  2. #2
    U-Labs Routinier

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Java Collection Framework - Help


  3. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (21.06.2013)

  4. #3
    U-Labs Elite
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 619 Times in 218 Posts

    Standard AW: Java Collection Framework - Help

    Was wäre eigentlich gescheit, wenn ich z.B ne Preisliste (wo ich dann z.B den Name des Artikels und den Preis festhalten will) erstellen will und wo ich dann z.B nach einer ID sortieren kann, löschen und z.B die Gesamtsumme ausgebe möchte, von den Elementen, die in der Liste sind?
    Geändert von Saad (21.06.2013 um 13:39 Uhr)
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  5. #4
    U-Labs Routinier

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Java Collection Framework - Help

    Wenn du von einem Wert (Key) auf einen anderen Wert (Value) zugreifen möchtest, brauchst eine Implementation des Map-Interfaces. Für sortierte Maps gibt es ein eigenes Interface. Zum Beispiel könntest du TreeMap benutzen.

    Um, wie in deinem Beispiel, die Gesamtsumme zu bestimmen, musst du dir eine eigene kleine Methode schreiben. Hier mal ein Beispiel:


    import java.util.Map;
    import java.util.SortedMap;
    import java.util.TreeMap;

    public final class SortedMapExample {
    public static void main(String[] args) {
    // Key (String) ID
    // Value (Integer) price in cents
    final SortedMap<String, Integer> pricelist = new TreeMap<>();
    pricelist.put("a", 10123);
    pricelist.put("b", 190231);
    pricelist.put("c", 87903);

    final int totalPrice = sumValuesOfMap(pricelist);
    System.out.println("Total price: " + totalPrice / 100.0d);
    }

    private static int sumValuesOfMap(Map<?, Integer> map) {
    int sum = 0;
    for (Integer value : map.values())
    sum += value;
    return sum;
    }
    }
    Geändert von Mr. White (21.06.2013 um 14:09 Uhr)

  6. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (21.06.2013)

  7. #5
    U-Labs Elite
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 619 Times in 218 Posts

    Standard AW: Java Collection Framework - Help

    Danke dir erstmal :-) , aber ich hab da noch ne' Frage:

    Wenn ich z.B jetzt eben den Namen des Produktes, den Price und sagen wir mal eine ID festhalten will, wie mache ich das genau? Weil bei der Mao da oben, kann ich ja nur zwei Werte " übergeben "..
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  8. #6
    U-Labs Routinier

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Java Collection Framework - Help

    Dann kommen Data Transfer Objects (DTO) zum Einsatz. Das bedeutet, du fasst mehrere Daten in einem Objekt zusammen. Ein gutes Beispiel ist die Adresse. Anstatt Straße, Hausnummer, PLZ und Ort einzeln zu speichern, erstellst du die eine Klasse Address mit genau dieses Attributen und definierst für selbige Getter.

  9. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (21.06.2013)

  10. #7
    U-Labs Elite
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 619 Times in 218 Posts

    Standard AW: Java Collection Framework - Help

    Okeey.. weil ich muss halt eben so zwei Items erstellen.. Ein Item besteht aus einem Namen und Preis und das andere besteht aus Namen, Preis, ID.. Und nun muss ich sozusagen ne preisliste erstellen und soll wenn nützlich eben das Java Collection Framework benutzen.. Es muss halt möglich sein, diese Items in dieser Liste zu adden, zu sortieren und eben die Gesamtsummer zu errechnen.. Nur hab ich kp, wie ich das anstellen soll :-/
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  11. #8
    U-Labs Routinier

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Java Collection Framework - Help

    Hier mal ein etwas umfangreicheres Beispiel, wie du es machen könntest. Beim Sortieren könnte man es auch so machen, dass erst nach ID und dann nach Preis sortiert wird:


    import java.util.List;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;


    public final class ItemListDemo {
    public static void main(String[] args) {
    final List<Item> items = new ArrayList<>();
    items.add(new DefaultItem("Drucker", 8900));
    items.add(new DefaultItem("Monitor", 11700));
    items.add(new IdentifiableItem("0001", "Maus", 1900));
    items.add(new IdentifiableItem("0002", "Tastatur", 3450));

    printItems(items);

    System.out.println("\nsort...\n");
    sort(items);

    printItems(items);

    System.out.println("\nTotal price: " + totalPrice(items) / 100.0d);

    }
    private static void printItems(List<Item> items) {
    for (Item item : items) {
    System.out.println(item);
    }
    }

    private static void sort(List<Item> items) {
    // Da Item Comparable implementiert, wird durch einen Aufruf von
    // Collections.sort(items);
    // automatisch nach dem Preis sortiert.
    // Möchte man ein anderes Sortierverfahren anwenden, kommt der
    // java.util.Comparator zum Einsatz:
    Collections.sort(items, new Comparator<Item>() {
    @Override
    public int compare(Item i1, Item i2) {
    // Wir möchten nach ID sortieren. Aber nicht alle
    // Items haben eine ID. Wenn beide, i1 und i2, keine
    // ID haben, sortieren wir standardmäßig nach Preis.
    if (i1 instanceof IdentifiableItem && i2 instanceof IdentifiableItem) {
    IdentifiableItem a1 = (IdentifiableItem) i1;
    IdentifiableItem b2 = (IdentifiableItem) i2;
    return a1.getID().compareTo(b2.getID());
    } else { // i1 oder i2 hat keine ID
    if (i1 instanceof IdentifiableItem)
    return -1;
    else if (i2 instanceof IdentifiableItem)
    return 1;
    else
    return i1.compareTo(i2);
    }
    }
    });
    }

    private static int totalPrice(List<Item> items) {
    int sum = 0;
    for (Item item : items)
    sum += item.getPrice();
    return sum;
    }
    }

    abstract class Item implements Comparable<Item> {
    @Override
    public int compareTo(Item item) {
    final int a = getPrice(), b = item.getPrice();
    return a == b ? 0 : (a > b ? -1 : 1);
    }

    abstract String getName();
    abstract int getPrice(); // in cents
    }

    class DefaultItem extends Item {
    private final String name;
    private final int price;

    public DefaultItem(String name, int price) {
    this.name = name;
    this.price = price;
    }

    @Override public String getName() { return name; }
    @Override public int getPrice() { return price; }

    @Override public String toString() {
    return "Item(" + name + ", " + price + ")";
    }
    }

    final class IdentifiableItem extends DefaultItem {
    private final String id;

    public IdentifiableItem(String id, String name, int price) {
    super(name, price);
    this.id = id;
    }

    public String getID() { return id; }

    @Override public String toString() {
    return "Item(" + id + ", " + getName() + ", " + getPrice() + ")";
    }
    }


  12. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (21.06.2013)

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 02.12.2013, 23:41
  2. Knuddels Development Framework
    Von Sky.NET im Forum Ressourcen
    Antworten: 10
    Letzter Beitrag: 24.06.2013, 23:57
  3. .net Framework lässt sich nicht Installieren.
    Von JumP-StyLe im Forum Software
    Antworten: 8
    Letzter Beitrag: 02.12.2012, 12:45
  4. [PHP] Framework ja oder nein?
    Von Minecraft im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.11.2012, 17:01
  5. VB.Net Framework Version runterschrauben?
    Von x BoooM x im Forum .Net
    Antworten: 7
    Letzter Beitrag: 21.10.2012, 16:38
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192