Avatar billede kirky Nybegynder
07. januar 2003 - 11:45 Der er 11 kommentarer og
1 løsning

refererende objekt til en list?

Jeg sidder og skal oprette nogle lists, og tildele dem forskellige navne. Problemet er, at jeg gerne vil kunne slette dem igen. Selvom der ikke er nogle entries i listen.

Jeg har læst, at man kan oprette et objekt, der kan bruges til at referere til en list. I stedet for at bruge den første entry i listen som reference. Er der nogle der kan give et lille eksempel på, hvordan det fungere?
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 12:36 #1
import java.util.*;
List list1 = new ArrayList();
List list2 = new Vector();
....// diverse kode
list1 = null;
list2 = null;
Nu vil de to lister bliver garbage collected uanset om der var noget
i dem eller ej, men hvornår garbage collectoren udfører sit
job kan man ikke styre.
Avatar billede magoo20000 Nybegynder
07. januar 2003 - 12:44 #2
Kan System.gc() ikke schedulere gc til at udføre sit job?
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 12:48 #3
Et System.gc() kald beder om at garbage collectoren
udfører sit arbejde, men det er ingen garanti for
at den gør det. Hvis der er masser af hukommelse er
der stor sandsynlighed for at gc kaldet ignoreres.
Man kan f.eks. have en JVM helt uden gc.
Avatar billede kirky Nybegynder
07. januar 2003 - 12:56 #4
Jeg skal kunne slette listerne ud fra navnet. F.eks hvis jeg har 2 ArrayLists. Hvordan opretter jeg så et objekt, som tilknyttes hver ArrayList, hvor jeg kan gemme et navn for hver enkel liste i. F.eks hvis jeg har en ArrayList der hedder Peter, og en ArrayList der hedder Lars.

Her er et eksempel på, hvad jeg gerne vil gøre:
http://www.cs.auc.dk/~normark/prog1-01/html/noter/arrays-lister-note-liste-identitet.html

Hvordan får jeg oprettet det objekt der hedder enListe objektet
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 13:01 #5
Du tænker på noget lignende dette:
Map map = new HashMap();
map.put( "Peter", list1 );
map.put( "Lars", list2 );
...// diverse kode
map.remove( "Peter" ); // så bliver list1 fjernet
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 13:04 #6
Det din reference henviser til hedder LinkedList i Java.
Avatar billede kirky Nybegynder
07. januar 2003 - 14:48 #7
Noget a la det. Jeg har et UI, hvor man indtaster navnet på en person, som gemmes i en variable navn. Jeg vil så gerne hive navn over i klassen person. Klassen person indeholder en ArrayList, som skal tildeles navn variablen. Så ArrayListen kommer til at hedde f.eks Peter, hvorefter jeg så kan fylde data om Peter ind i ArrayListen.
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 14:49 #8
Så skal du bruge Map som vist ovenfor hvor du
associerer navnet (f.eks. Peter) med en ArrayList.
Avatar billede kirky Nybegynder
07. januar 2003 - 14:56 #9
Hvad mener du præcist? At det hashmap kommer til at indeholde ArrayListerne?
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 14:56 #10
For at tilføje data om Peter:
((ArrayList)map.get("Peter")).add("Telefonnummer og andet");
Avatar billede carstenknudsen Nybegynder
07. januar 2003 - 14:58 #11
Ja, hashmap'en indeholder navne og lister og
du kan finde en liste som vist med
map.get("Peter")
Avatar billede kirky Nybegynder
07. januar 2003 - 21:27 #12
Det virker nu, efter lang tids kode modificering! tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester