Zitat von
alzaimar:
Im ernst: Wenn diese Suche immer wieder vorkommt, und die Liste mal etwas länger wird, dann solltest Du eine der Varianten ins Auge fassen. Bei den paar hundert Einträgen würde ich mir nicht die Mühe machen, das lohnt nicht.
Aber Du hast mich gefragt, und ich hab Dir meine Ideen mitgeteilt
Sorry wenn meine Antwort nach Kritik klang. Das war es sicher nicht. Ich hab nur laut nachgedacht. Meine Frage war auch schon beantwortet und ich habe weiter gebohrt.
Sonst ganz klar, ich stimme dir voll und ganz zu. Hier zeigt sich auch wieder, dass der konkrete Anwendungsfall den speziellen Weg fordert und schnell nicht immer schnell ist. Man fragt oft nach nem schnellen Verfahren; und ohne konkrete Aufgabenstellung ist die oft nicht korrekt zu beantworten.
In diesem Fall ist es
imho so:
Sucht man nacheinander viele Strings (Vorkommen in der Zeile) in einem sehr großen Text (Zeilen-formatiert), so machen die genannten Methoden Sinn. Mit der Lookup-Methode muss man aber mit der doppelten Speicherbelastung rechnen. Wird das zu heftig und man will ein Optimum zwischen Geschwindigkeit und Speicher finden, so ist die Bucket-Methode sicher ein Weg in die Richtige Richtung. Die Größe des Divisors zu finden ist dabei jedoch ein eigenes Thema.
Muss man das alles nur einmal machen, so ist die einfache Suche mit Pos oder IndexOf wohl schneller.
Gruß oki