|
| 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
| |
|
|