🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334910

Re: TDictionary<> i kolejnosc dodawania

#334910
From: wloochacz
Date: Tue, 24 Jan 2012 10:48
24 lines
1995 bytes
W dniu 2012-01-24 11:29, R.e.m.e.K pisze:
> Witam
>
> TDictionary<Key,Value>  tworzy hastabla indeksowanego po Keyu, wiec po
> zapisaniu kolejno do slownika 10 pozycji sa one ukladane wewnetrznie w innej
> kolejnosci niz kolejnosc dodawania przez co ich odczyt for-in loopem nie
> zwraca ich w kolejnoci dodawania. Oczywiscie dzieki temu algorytm
> wyszukiwania jest bardzo szybki, ale traci sie oryginalna kolejnosc, ktora
> czasem jest przydatna. Czy jest sposob, aby zmusic TDictionary, by kosztem
> wydajnosci zachowywalo oryginalny porzadek dodawania elementow?
> Wiem, ze moge uzyc zamiast TDictionary np. TList<TPair<Key,Value>>  ale
> jednak TDictionary ma kilka wygodnych metod :-P
Jakich metod?

Nadpisz TDictionary, nadpisz metodę Add (a właściwie DoAdd) żeby dodawać 
indeks, zaimplementuj enumerator żeby for-in działał jak chcesz.

Pamiętaj, że TDictionary posiada trzy enumeratory (TPairEnumerator, 
TValueEnumerator i TKeyEnumerator) dla trzech kolekcji: para (Key = 
Value), ale nie musisz ich implmentować jeśli posługujesz się np. tylko 
enumeratorem TPair<T, T>;

-- 
wloochacz
Technical Details
Message-ID: <jfm2a6$rep$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <1ap3bo51k49nb.dlg@hell.heaven>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: wloochacz <wloochacz@nospam.nie.gmail.com>
Newsgroups: pl.comp.lang.delphi
Subject: Re: TDictionary<> i kolejnosc dodawania
Date: Tue, 24 Jan 2012 11:48:28 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 24
Message-ID: <jfm2a6$rep$1@inews.gazeta.pl>
References: <1ap3bo51k49nb.dlg@hell.heaven>
NNTP-Posting-Host: mainframe.rene.com.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1327402118 28121 193.239.124.200 (24 Jan 2012 10:48:38 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 24 Jan 2012 10:48:38 +0000 (UTC)
X-User: wloochacz
In-Reply-To: <1ap3bo51k49nb.dlg@hell.heaven>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit