Nejrychleji přes hašovací tabulky, tj. něco jako

HashMap<String,AbstractItem> podleJmena = new HashMap<String,AbstractItem>();
HashMap<Long,AbstractItem> podleAdresy = new HashMap<Long,AbstractItem>();
for(AbstractItem ai:pole) {
    podleJmena.put(ai.getName(),ai);
    podleAdresy.put(ai.getAddress(),ai);
    ...
}
...

 AbstractItem nalezene = podleJmena.get("Karel");

Hašovací tabulka hledá víceméně v konstantním čase,
takže rychleji to už nejde. Je to samozřejmě za cenu
větší spotřeby paměti.

Makub


Martin Jedlička napsal(a):
> Zdravim,
> 
>   mam dotaz ohledne hledani objektu v poli.
> 
> Mam tridu, ktera obsahuje atributy jmeno, adresa, stav, atd... tj. neco
> takovehoto:
> 
> public abstract class AbstractItem {
>    protected String m_name;   = "";
>    protected long m_address  = 0;
>    protected boolean m_state = false;
>    ...
> }
> 
> 
> Tyto objekty mam potom v poli AbstractItem[].
> 
> Ted bych potreboval metodu/zpusob, jak nejlepe a nejrychleji najit v
> poli AbstractItem[] objekt AbstractItem podle m_name nebo m_adress ci
> jineho atributu. Cili, pokud vyhledavam objekt podle jmena "Karel", tak
> mi to najde adekvatni objekt AbstractItem obsahujici jmeno Karel.
> 
> Dekuju za kazdou radu.
> 
> Martin
> 


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem