Article View: pl.comp.lang.java
Article #153417Re: Taka kolekcja/kontener: Vector i Map
From: Jacek Czerwinski
Date: Sat, 05 May 2012 09:36
Date: Sat, 05 May 2012 09:36
34 lines
2482 bytes
2482 bytes
W dniu 2012-05-05 11:15, Arivald pisze: > W dniu 2012-05-05 10:50, Jacek Czerwinski pisze: > Utwórz nowy obiekt, implementujący Map<String, T> i List<T>. Wewnątrz > umieść prywatne Map i List, dowolnych typów (np HashMap i LinkedList). > Eclipse Ci wygeneruje listę metod do zaimplementowania, po prostu > wydeleguj implementację do Mapy i Listy, pilnując wewnętrznych zależności. > > Po prostu ten sam obiekt (referencję do niego) trzymaj jednocześnie w > Liście i Mapie. Idę tą ścieżką (akurat odziedziczyłem po (Hash)Map z pewnych względów, również mniejsza ilośc metod do zaimplementowania). List siedzi w środku i referencje trzymam 2x. Wchodząc w las, zaczyna lekko przeszkadzać, dwa odpowiedniki np. 'put' itd. Rzecz w tym, że zewnętrzny interface jaki implementuje byłby nieco nadmiarowy. Więc Zewnętrznie nie trzymam interfejsu List, jedyne co mam podobne to putAt(int pos, String key, T y) być może przyjdzie potrzeba na toArray i podobne metody listowe, ale na razie nie. > > > mentalnie pożegnałem się z inteligentnym put(T) i będzie put(String,T) > > To możesz załatwić wzorcem strategii, tzn dodatkowy obiekt (może być > singleton czy statyczne klasa), który dostaje obiekt T i zwraca string > który będzie kluczem mapy. > Strategia może być jako typ generyka (ListMap<T, , Strategy>). Na pewno jakaś wskazówka, ale na przyszłość. Szkoda, że w czystej javie nie można podać "pola" (jako ktoś kibicował JPA2 Criteria to wie)
Technical Details
Message-ID:
<jo2sap$rja$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<jo2kpg$jrp$1@node2.news.atman.pl> <jo2pjs$onr$1@node2.news.atman.pl> <jo2r85$pl5$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Jacek Czerwinski <x@y.z.pl> Newsgroups: pl.comp.lang.java Subject: Re: Taka kolekcja/kontener: Vector i Map Date: Sat, 05 May 2012 11:36:24 +0200 Organization: ATMAN - ATM S.A. Lines: 35 Message-ID: <jo2sap$rja$1@node2.news.atman.pl> References: <jo2kpg$jrp$1@node2.news.atman.pl> <jo2pjs$onr$1@node2.news.atman.pl> <jo2r85$pl5$1@news.dialog.net.pl> NNTP-Posting-Host: 77-255-113-153.adsl.inetia.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1336210585 28266 77.255.113.153 (5 May 2012 09:36:25 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sat, 5 May 2012 09:36:25 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 In-Reply-To: <jo2r85$pl5$1@news.dialog.net.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit