/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
ArrayList random remove
Fra : Anders


Dato : 29-09-03 11:23

Hej gruppe,

Hvordan kan jeg Random fjerne et object i en ArrayList?

ArrayList indeholder 5 objecter og jeg vil random fjerne 1 af disse.

På forhånd tak
Anders



 
 
Trygleren [9000] (29-09-2003)
Kommentar
Fra : Trygleren [9000]


Dato : 29-09-03 12:37

> Hvordan kan jeg Random fjerne et object i en ArrayList?
> ArrayList indeholder 5 objecter og jeg vil random fjerne 1 af disse.

Opret et randomobjekt. Dernæst vil metoden nextInteger, kaste en
heltalsværdi med maks i den angivne parameter:
Random r = new Random();
r.nextInteger(maxVaerdi);

--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther
www.hesteskelet.dk <-- Nu med fløjlshandsker!



Mads Orbesen Troest (29-09-2003)
Kommentar
Fra : Mads Orbesen Troest


Dato : 29-09-03 16:59

On Mon, 29 Sep 2003 13:36:36 +0200, Trygleren [9000] wrote:

>> Opret et randomobjekt.

Det var da vist ikke lige det, der blev spurgt om.

>Hvordan kan jeg Random fjerne et object i en ArrayList?
>ArrayList indeholder 5 objecter og jeg vil random fjerne 1 af disse.

Har du slået op i dokumentationen? Se fx
http://java.sun.com/j2se/1.4.1/docs/api/java/util/ArrayList.html

Specielt på "remove" metoden, vil jeg tro... ;)

/\/\\ads Orbesen Troest

Mads Orbesen Troest (29-09-2003)
Kommentar
Fra : Mads Orbesen Troest


Dato : 29-09-03 17:02

On Mon, 29 Sep 2003 17:59:02 +0200, Mads Orbesen Troest wrote:

> Det var da vist ikke lige det, der blev spurgt om.

Æh, flot. Eller også var det netop hvad der blev spurgt, nu hvor jeg selv
læser det igen... ;) Hvis der menes at fjerne et objekt "random access" i
en liste, så se mit svar; hvis problemet lå i selve "random", så har Lars
svaret på det.

:) /\/\\ads Orbesen Troest

Anders (29-09-2003)
Kommentar
Fra : Anders


Dato : 29-09-03 17:23

Mit spørgsmål var/er:

Når jeg har en ArrayList indeholdende 5 objecter. Disse objecter er navne.

Jeg vil så løbe ArrayListen i gennem og Random fjerne 1 af disse objecter.

Det er hvordan jeg fjerner dette obj random jeg spørger efter

/Anders
"Mads Orbesen Troest" <mads@troest.NEVERMORE.dk> wrote in message
news:71fgmcdpp4gw.12f6bmzvxggs4$.dlg@40tude.net...
> On Mon, 29 Sep 2003 17:59:02 +0200, Mads Orbesen Troest wrote:
>
> > Det var da vist ikke lige det, der blev spurgt om.
>
> Æh, flot. Eller også var det netop hvad der blev spurgt, nu hvor jeg selv
> læser det igen... ;) Hvis der menes at fjerne et objekt "random access" i
> en liste, så se mit svar; hvis problemet lå i selve "random", så har Lars
> svaret på det.
>
> :) /\/\\ads Orbesen Troest



Mads Orbesen Troest (29-09-2003)
Kommentar
Fra : Mads Orbesen Troest


Dato : 29-09-03 17:28

> Det er hvordan jeg fjerner dette obj random jeg spørger efter

Så er svaret en komination af mit og Lars' svar. Random kan give dig et
tilfældigt indeks ind i din liste og remove kan fjerne elementet ud fra
dette indeks.

/\/\\ads Orbesen Troest

Filip Larsen (29-09-2003)
Kommentar
Fra : Filip Larsen


Dato : 29-09-03 19:55

Anders skrev

> Når jeg har en ArrayList indeholdende 5 objecter. Disse objecter er navne.
> Jeg vil så løbe ArrayListen i gennem og Random fjerne 1 af disse objecter.

I tilfælde af, at du skulle gå hen og finde på at gentage udtagningen mere
end et par gange, så kan det godt betale sig at benytte Collections.shuffle
metoden til at blande elementerne og så blot tage det antal man skal bruge.
Fx.

List list = ...
Collections.shuffle(list);
List selected = list.subList(0,Math.max(3,list.size());


Mvh,
--
Filip Larsen



Anders (29-09-2003)
Kommentar
Fra : Anders


Dato : 29-09-03 20:42

Hej Filip,

Jeg har lidt svært ved at få instantieret List:

List seamen = new List();

Hvad er der galt her??

mvh Anders

"Filip Larsen" <filip.larsen@nospam.dk> wrote in message
news:bl9v7i$2aun$1@news.cybercity.dk...
> Anders skrev
>
> > Når jeg har en ArrayList indeholdende 5 objecter. Disse objecter er
navne.
> > Jeg vil så løbe ArrayListen i gennem og Random fjerne 1 af disse
objecter.
>
> I tilfælde af, at du skulle gå hen og finde på at gentage udtagningen mere
> end et par gange, så kan det godt betale sig at benytte
Collections.shuffle
> metoden til at blande elementerne og så blot tage det antal man skal
bruge.
> Fx.
>
> List list = ...
> Collections.shuffle(list);
> List selected = list.subList(0,Math.max(3,list.size());
>
>
> Mvh,
> --
> Filip Larsen
>
>



Mikkel Bundgaard (29-09-2003)
Kommentar
Fra : Mikkel Bundgaard


Dato : 29-09-03 21:22

On Mon, 29 Sep 2003 21:42:21 +0200, Anders wrote:

> Hej Filip,
>
> Jeg har lidt svært ved at få instantieret List:
>
> List seamen = new List();
Hvis du kigger i API'en kan du se at List (hvis du tænker på
java.util.List) er et interface, så dette kan ikke instantieres.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html

Derimod kan du bruge en ArrayList, LinkedList eller Vector (forskellene
kan du læse om i API'en - implementation, kompleksitet, synkroniseret
mm.). F.eks. vil følgende virke

List seamen = new ArrayList();

(hvis du har husket at tilføje
import java.util.*;
i starten af din fil).
--
Mikkel Bundgaard
Student at IT University of Copenhagen
Codito, Ergo Sum

Anders (29-09-2003)
Kommentar
Fra : Anders


Dato : 29-09-03 22:02

Så lykkedes det :)

Jeg vil gerne sige tusind tak for hjælpen, det var mit første indlæg her i
newsgruppen og bestemt ikke det sidste ;)

Det var fedt der kom flere forskellige muligheder og har leget lidt med dem
alle.

/Anders

"Mikkel Bundgaard" <mikkelbu@teliamail.dk> wrote in message
news:pan.2003.09.29.20.21.19.232903@teliamail.dk...
> On Mon, 29 Sep 2003 21:42:21 +0200, Anders wrote:
>
> > Hej Filip,
> >
> > Jeg har lidt svært ved at få instantieret List:
> >
> > List seamen = new List();
> Hvis du kigger i API'en kan du se at List (hvis du tænker på
> java.util.List) er et interface, så dette kan ikke instantieres.
> http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html
>
> Derimod kan du bruge en ArrayList, LinkedList eller Vector (forskellene
> kan du læse om i API'en - implementation, kompleksitet, synkroniseret
> mm.). F.eks. vil følgende virke
>
> List seamen = new ArrayList();
>
> (hvis du har husket at tilføje
> import java.util.*;
> i starten af din fil).
> --
> Mikkel Bundgaard
> Student at IT University of Copenhagen
> Codito, Ergo Sum



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste