Entwickler-Ecke
Basistechnologien - List<string> schnell durchsuchen
kerstel - Mi 07.12.11 11:55
Titel: List<string> schnell durchsuchen
Hallo,
ich habe eine Collection die aus einer Datei befühlt wird. Der Count der Collection kann über eine Millionen gehen.
Ein Element der Collection sieht z.B. so aus:
4274P05.06.2010 05.06.2010 4274 664P4274P N
Gibt es eine Möglichkeit in der Collection direkt nach "4274P05.06.2010" bzw. nach den ersten 20 Zeichen des Elements? Mit einer Foreach Schleife und dem Vergleich ist das sehr langwierig.
lgr
Ralf Jansen - Mi 07.12.11 12:05
Läuft der ~Vergleich~ auf einen beliebigen Substring oder immer auf einen eindeutiger Teil deins Strings? Im letzteren Fall solltest du List<T> durch ein Dictionary<T,T> ersetzen und denn zu suchenden Anteil als Key verwenden.
kerstel - Mi 07.12.11 12:08
immer auf die ersten 20 Zeichen. Der Wert wird erst ermittelt, und dann wird das Element gesucht, bei dem die ersten 20 Zeichen diesem Wert entsprechen.
Versteh nicht was Du meinst mit Dictionary<T,T>
Ralf Jansen - Mi 07.12.11 12:14
http://msdn.microsoft.com/de-de/library/xfhwa508.aspx
Deine ersten 20 Zeichen benutzt du als Key deinen eigentlich string als Value. Ein Zugriff auf den Key erfolgt dann mit einem O(1) Aufwand. Also deutlich schneller als über alle Elemente zu iterieren -> O(n).
kerstel - Mi 07.12.11 12:16
ok verstanden, vielen dank
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!