Was ist schneller?

Status
Nicht offen für weitere Antworten.

redbomber

Bekanntes Mitglied
Hi zusammen.

Ich besitze eine TreeMap<LinkedList<Objekt> >
und eine ArrayList<LinkedList<Objekt> >


Ich muss z.b. auf die Zellen 10-20 von der ArrayList (oder TreeMap) zugreifen, füge alle dabei
erhaltenen LinkedList<Objekt> zu EINER LinkedList<Objekt> zusammen und gebe diese zurück.
ABER ich muss immer darauf achten, dass die Objekte NICHT mehrfach hinzugefügt werden.

(Oder aber ich greife nur auf eine Zelle zu, dann muss ich keine Listen zusammenfügen.)


1.Frage:
Ist die wahl der LinkedListen hier angebracht?

---------------------------------------------------

Bevor ich die Listen zusammenfügen kann muss ich erst von jedem darin befindlichen Objekt folgende Überprüfung durchführen:

Objekt.eingenschaft() == '-';
Objekt.eingenschaft() == '+';

Dies ist bestimmt eine teure Operation oder? zumindest ein String vergleich ist teuer, ist das bei char auch so?

2. Frage:
Da ich immer wieder auf die Einträge in der TreeMap oder in der ArrayList zugreife, währe es hier dann angebracht meine Objekte bei der initialisierung bereits in die Eigenschaft "+" bzw "-" zu unterteilen?
 

0x7F800000

Top Contributor
Ich besitze eine TreeMap<LinkedList<Objekt> >
Das ist merkwürdig, ich vermisse da irgendwo ein Komma in den spitzen Klammern? :autsch: Oder du verwechselst eine Map mit irgendeinem anderen Tier...
Ich muss z.b. auf die Zellen 10-20 von der ArrayList (oder TreeMap) zugreifen
was ist mit diesem "10-20" gemeint? Bei ArrayList der Index, bei TreeMap die durch sortierung vorgegebene Reihenfolge? oder wie?

*ab da nichts gerafft* :bahnhof:

Objekt.eingenschaft() == '-';
Objekt.eingenschaft() == '+';

Dies ist bestimmt eine teure Operation oder? zumindest ein String vergleich ist teuer, ist das bei char auch so?
seit wann sind String vergleiche denn teuer?
 

Wildcard

Top Contributor
seit wann sind String vergleiche denn teuer?
Nun, billig sind sie jedenfalls nicht. Da steckt zwar Optimierung drin (bei ungleicher Länge wird zB direkt false geliefert), aber wenn man zB viele gleiche String hat, muss jedesmal jeder char einzeln verglichen werden.
Allerdings sollte man nicht versuchen etwas zu optimieren was nicht nachweislich ein Flaschenhals ist. Also, erst warten ob es überhaupt ein Problem gibt, dann Profiler anwerfen und dann gezielt optimieren, sofern wirklich nöitg.
 
M

maki

Gast
Da String immutable ist, kann (und wird) der hashCode nur einmal berechnet und danach einfach weiterverwendet.
D.h. das Collections und Maps die die hashcode() Methode verwenden denen zu bevorzugen sind die auf equals aufbauen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
M Dateien schneller kopieren Allgemeine Java-Themen 1
D Eine Forschleife mit Threads abarbeiten um es zu schneller zu machen. Ist das möglich? Allgemeine Java-Themen 20
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
G Erste Schritte Aufgabe - Geht das auch schneller ? Allgemeine Java-Themen 7
X Images painten - Was ist schneller? Allgemeine Java-Themen 2
L Assoziatives Datenfeld, schneller wie Hashmap Allgemeine Java-Themen 35
B Input/Output Schneller Sort mit wenigen Zugriffen (oder was anderes?) Allgemeine Java-Themen 3
V Thread schneller stoppen Allgemeine Java-Themen 2
D NetBeans Programm in NetBeans deutlich schneller als als Jar Allgemeine Java-Themen 33
F ArrayList schneller als LinkedHashMap? Allgemeine Java-Themen 8
feuervogel Performanzprobleme - Code schneller machen Allgemeine Java-Themen 18
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
E Schneller Einstieg in Java und Web Services Allgemeine Java-Themen 3
C Wer kanns schneller? Allgemeine Java-Themen 13
M Was ist schneller und effizienter GZIP(java) oder 7zip ? Allgemeine Java-Themen 5
D Was ist schneller? Zuweisung oder Vergleich? Allgemeine Java-Themen 18
D Geht es auch schneller doppelte Einträge zu löschen? Allgemeine Java-Themen 23
B Vermeiden das JButton schneller hintereinander drücken Allgemeine Java-Themen 3
m@nu Thumbnails schneller erstellen Allgemeine Java-Themen 2
T Warum mein such-tool schneller als Windows such-tool? Allgemeine Java-Themen 5
A Wie mach ich, das mein Button schneller reagiert. Allgemeine Java-Themen 13
D binär einlesen schneller? Allgemeine Java-Themen 3
S Gehts schneller? Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben