Avatar billede keet Nybegynder
15. september 2003 - 17:52 Der er 7 kommentarer og
1 løsning

Collection get object

Jeg har en følgende kode:
Collection items = new ArrayList()

Normalt bruger jeg get(index) for at få et objekt ud, men hvorledes gøres dette når jeg har items til at være Collection? Java vil hvertfald ikke godkende get()
Avatar billede keet Nybegynder
15. september 2003 - 17:55 #1
Skal jeg bruge toArray, og så udfra dette bruge et index?
Avatar billede mikkelbm Nybegynder
15. september 2003 - 17:56 #2
Ved ikke om det virker... men hvad med:

items.iterator().next();

den returnere i hvert fald et objekt :)
Avatar billede mikkelbm Nybegynder
15. september 2003 - 18:00 #3
eller også bruge, som du selv nævner en toArray-metode - hvilket nok er nemmere...
Avatar billede keet Nybegynder
15. september 2003 - 18:04 #4
Jeg skal kunne hente et bestemt index ud. Jeg tror jeg skal bruge toArray() men kan ikke rigtigt finde ud af hvordan den virker.
Avatar billede keet Nybegynder
15. september 2003 - 18:06 #5
Har fundet ud af det.
Avatar billede keet Nybegynder
15. september 2003 - 18:06 #6
Item[] ItemArray = (Item[])items.toArray();
Avatar billede repsak Nybegynder
15. september 2003 - 18:09 #7
Bare for at være nysgerrig: hvilke overvejelser ligger der bag at vi vil bruge interfacet collection direkte? =)
Avatar billede arne_v Ekspert
15. september 2003 - 18:21 #8
Collections er ikke nødvendigvis ordered og derfor kan man ikke hente
på nummer.

iterator() og hasNext() og next() kan bruges til at gennemløbe
strukturen med.

toArray bruger formentlig denne (ihvertfald garanterer de at de kommer
i samme rækkefølge som ved iterator).

Hvis man kun vil bruge ordered collections så skal man bruge List
interfacet i.s.f Collection interfacet, så kan man bruge get på index.

Hvis du ved hvilket object der gemmer sig bag Collection interfacet, så
kan du tyep caste:
  ((ArrayList)items).get(index);
og:
  ((List)items).get(index);
er legale (men ikke kønne !).
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