AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

Ein Thema von Codehunter · begonnen am 10. Okt 2018 · letzter Beitrag vom 10. Okt 2018
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#1

Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 08:58
Delphi-Version: 10.2 Tokyo
Hallo!

Gibt es in der RTL vielleicht schon fertig eine Klasse, die ähnlich TDictionary funktioniert, aber keine eindeutigen Schlüssel erzwingt? Zum Auffinden der Einträge dann so eine Art Filter auf die Schlüsselliste legen und bei mehreren Treffern mit GetFirst/GetNext navigieren. Klar geht auch selber Bauen, aber evtl. ist ja was fertiges da was ich noch nicht kenne?

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 09:17
Hallo!

Gibt es in der RTL vielleicht schon fertig eine Klasse, die ähnlich TDictionary funktioniert, aber keine eindeutigen Schlüssel erzwingt? Zum Auffinden der Einträge dann so eine Art Filter auf die Schlüsselliste legen und bei mehreren Treffern mit GetFirst/GetNext navigieren. Klar geht auch selber Bauen, aber evtl. ist ja was fertiges da was ich noch nicht kenne?

Grüße
Cody
Klar : Dictionary<string, TList<Wasauchimmer>>;
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#3

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 09:25
Klar : Dictionary<string, TList<Wasauchimmer>>;
Hehe, so einfach kanns manchmal sein Da muss ich nur ein bisschen Organisation drumrum schreiben. Danke!
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.042 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 10:31
Diese Datenstruktur nennt man auch Multimap. Du hast zwar nach Vorkommen in der RTL gefragt, aber der Vollständigkeit halber erwähn ich mal, dass es einen solchen Typ in Spring auch gibt. Der kümmert sich dann um das "bisschen Organisation drumrum".
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#5

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 10:35
Diese Datenstruktur nennt man auch Multimap. Du hast zwar nach Vorkommen in der RTL gefragt, aber der Vollständigkeit halber erwähn ich mal, dass es einen solchen Typ in Spring auch gibt. Der kümmert sich dann um das "bisschen Organisation drumrum".
Der Grund warum ich nach der RTL fragte ist, dass ich an einem großen Projekt arbeite und der Projektmanager sich ein bisschen schwer damit tut, zusätzliche Bibliotheken aufzunehmen.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 10:53
Spring (for Delphi) ist imho ein etabliertes Projekt.
Markus Kinzler
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 11:53

Klar : Dictionary<string, TList<Wasauchimmer>>;
Und wie soll das funktionieren? Der String ist doch der Key und damit eindeutig?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 11:59

Klar : Dictionary<string, TList<Wasauchimmer>>;
Und wie soll das funktionieren? Der String ist doch der Key und damit eindeutig?
Jo aber durch die Liste in der mehrere Daten drin sind haben dadurch mehrere Daten indirekt den gleichen Key.
Es läuft aufs Gleiche hinaus.

key * a + key * b = key * (a + b)
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#9

AW: Gibt es eine Art TDictionary mit nicht-eindeutigem Schlüssel?

  Alt 10. Okt 2018, 12:17

Klar : Dictionary<string, TList<Wasauchimmer>>;
Und wie soll das funktionieren? Der String ist doch der Key und damit eindeutig?
Also in meinem Fall würde das sehr gut funktionieren, denn "Wasauchimmer" wäre ein Integer und wiederum Index auf einer Objektliste. Der Key käme dann einem Datenmengenfilter gleich und über First/Next-Methoden würde ich den Index der TList im Dictionary verschieben.

Wahrscheinlich könnte man ähnliches auch mit einer Memtable bewerkstelligen. Aber erstens gefällt mir die Effizienz der Hashtable im Dictionary sehr gut und andererseits muss ich so nicht Tonnen von Code umbauen um auf Memtable umzustellen.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz