mardi 28 avril 2015

Datentypen ArrayList vs TreeMap

Ich befasse mich erst seit Kurzem mit Maps und mir ist der Gedanke gekommen, ob es sinnvoll wäre, größere Listen von Objekten durch solche zu ersetzen. Der Grund wäre die Suche nach bestimmten Objekten in der Liste.
Zur Zeit arbeite ich nach diesem Schema:
Java Code:

  1.  
  2. public class MyClass {
  3. private String id;
  4. //andere Eigenschaften
  5. public String getId() {
  6. return this.id;
  7. }
  8. public String setId(String newId) {
  9. this.id = newId;
  10. }
  11. public static MyClass getMyClass(String id, Iterable<MyClass> list) {
  12. if (list != null) {
  13. for(MyClass oneItem : list) {
  14. if (oneItem.getId().equals(id)) {
  15. return oneItem;
  16. }
  17. }
  18. }
  19. return null;
  20. }
  21. }


Wie sinnvoll wäre es, anstatt Listen ein TreeMap<String, MyClass> Objekt zu verwenden und das richtige Objekt per put-Methode zu ermitteln?
Java Code:

  1.  
  2. public class MyClass {
  3. private String id;
  4. //andere Eigenschaften
  5. public String getId() {
  6. return this.id;
  7. }
  8. public String setId(String newId) {
  9. this.id = newId;
  10. }
  11. public static MyClass getMyClass(String id, Map<String,MyClass> map) {
  12. if (map != null) {
  13. return map.get(id);
  14. } else {
  15. return null;
  16. }
  17. }
  18. }

Sind TreeMaps performanter als eine "normale" Schleife?
Klar wird es etwas komplizierter, wenn man die Id eines Objektes ändern will, aber das passiert praktisch fast nie.


Datentypen ArrayList vs TreeMap

0 commentaires:

Enregistrer un commentaire