Forum » Programiranje » java objeti in polja
java objeti in polja
l0g1t3ch ::
Imam en razred v katerem je samo 2d tabela in konstruktor ki sprejme objekt tega istega razreda ter prepiše vrednosti sprejetega objekta v tabelo.
Stvar je pa taka jest imam neko začetno stanje ki je predstavljeno z objektom tega mojega razreda potem pa iz tega začetnega stanja generiram naslednja stanja. in vsakič ko generiram novo stanje prepisujem tabelo 11x11 kar vzame relativno veliko časa pa me zanimam kako stvar elegantneje rešit.
Torej kako bolj učinkovito nardit to
Stvar je pa taka jest imam neko začetno stanje ki je predstavljeno z objektom tega mojega razreda potem pa iz tega začetnega stanja generiram naslednja stanja. in vsakič ko generiram novo stanje prepisujem tabelo 11x11 kar vzame relativno veliko časa pa me zanimam kako stvar elegantneje rešit.
Stanje novo_stanje = new Stanje(prejsne_stanje) // ustvarim novo stanje ki mora biti isto kot prejsne // in prepišem 11x11 veliko tabelo temu objektu novo_stanje popravim samo vrednosti 3h polj v 11x11 tabeli objekt novo_stanje shranim v linked list
Torej kako bolj učinkovito nardit to
- spremenilo: l0g1t3ch ()
sverde21 ::
Poglej si mal metodo System.arraycopy(), ki je baje zelo hitra... ena možnost bi bla da v konstruktorju kar array_novo_stanje = prejsnje_stanje ampak potem boš nastavil samo skupni kazalec na array (torej ob spremembi enega arraya se bo spremenil tudi drug).
<?php echo `w`; ?>
sverde21 ::
Jah kloniranje se dela takle (Google) (poglej si še tole) ampak AFAIK moraš vse podatke v nov class prepisat, tak da si ubistvu na istem...
Kar se pa tiče hitrosti one metode arraycopy, sem to prebral v knjigi Java2 (od Mesojedca) tak da če se je on zlagal, sm se jst tud . Če pa hočiš vedet natančno kolk časa se izvaja tista metoda pa takle naredi:
Kar se pa tiče hitrosti one metode arraycopy, sem to prebral v knjigi Java2 (od Mesojedca) tak da če se je on zlagal, sm se jst tud . Če pa hočiš vedet natančno kolk časa se izvaja tista metoda pa takle naredi:
// ... long zacetek = System.currentTimeMillis(); // tukaj pride tvoja koda System.out.println("Koda se je izvajala " + (System.currentTimeMillis() - zacetek) + "ms"); // ...seveda tam svojo kodo daš v kako zanko pa pol deliš, ker drugače boš vidu tam 0ms (no razn pri malce večjem arrayu zna pa bit cifra večja
<?php echo `w`; ?>
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java] Zasnova shoot em up igreOddelek: Programiranje | 1190 (869) | PecenkA |
» | java / mysql / počasne poizvedbeOddelek: Programiranje | 747 (676) | BRBR |
» | [Java] QuicksortOddelek: Programiranje | 730 (566) | MrBrdo |
» | [Java] Evidenca delovnega časa - Java v navezi z AccessomOddelek: Programiranje | 3277 (2497) | c0dehunter |
» | [JAVA] System_currentTimeMillis()??Oddelek: Programiranje | 806 (806) | kunigunda |