AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Liste mit zusammengesetztem Schlüssel

Ein Thema von Nersgatt · begonnen am 4. Mai 2017 · letzter Beitrag vom 4. Mai 2017
Antwort Antwort
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 14:17
Moin,

ich brauche eine Liste, in der ich zügig anhand eines Schlüssels suchen kann. Allerdings besteht der Schlüssel aus 3 Werten (einem Integerwert und 2 Int64 Werten).
Eigentlich sowas wie ein TDictionary<>, nur dass ich halt 3 Werte als Schlüssel benötige.

Was kann man da nehmen?

Danke!
Jens
Jens
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 14:19
Mach dir doch ein record aus den 3 Schlüsseln und verwende das als Key.
Sebastian
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 14:22
.. oder bilde über die 3 Werte einen Hash - dann solltest Du einen einzelnen eindeutigen Schlüssel bekommen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#4

AW: Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 14:49
.. oder bilde über die 3 Werte einen Hash - dann solltest Du einen einzelnen eindeutigen Schlüssel bekommen.
Ein Hash ist aber nicht eindeutig - Kollisionen müssen da dann berücksichtigt werden. Idealerweise macht das eine HashMap, bei der man den von SProske genannten Record als Key benutzt.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 16:55
Wozu eine HashMap?
Man braucht für das TDictionary ggf. noch ein Implementierung eines IComparer. Dann sollte das reichen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Liste mit zusammengesetztem Schlüssel

  Alt 4. Mai 2017, 17:11
TDictionary nutzt standardmäßig eine HashMap.
Und da hier alle Wete statisch sind, kann man da auch ganz einfach die 3 Integer als Record verwenden und das "binär" vergleichen lassen, anstatt einen eigenen Comparer zu definieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz