Gå til innhold

Slette elementer fra Array


Anbefalte innlegg

Videoannonse
Annonse

Dersom du tenker på en helt vanlig array:

Object[] o = new Object[5];

med noe på plass 3

o[2] = new String("Fjern meg!");

som du ønsker å bytte ut med et annet objekt. Er det bare å tilordne en ny verdi til den plassen i arrayen

o[2] = new Object();

 

Hvis du bare ønsker å sette inn en referanse til 'ingenting' på plassen i arrayen benytter du null. I allefall for arrayer som ikke inneholder grunntyper som int, long o.l.

o[2] = null;

 

Hvis det var dette du tenkte på, da...

CPL

Lenke til kommentar

Hva er det egentlig du ønsker?

 

Du kan jo sette inn nye verdier uten å slette først f.eks.

 

a[i] = "ny verdi";

 

ønsker du å slette for senere å teste at det ikke finnes noe element der:

 

a[i] = null; // array med referanser

 

ønsker du å slette et element, men ikke ha "hull" i arrayen:

 

a[i] = a[max];
a[max] = null;

 

litt for sen :)

Endret av HP_H
Lenke til kommentar

Takk for svarene! Kan jo si litt om hvordan programmet skal virke.

 

Det skal leses inn en liste med tlf. nummer, navn og e-postadresse fra en fil en txt-fil. Dette leses inn i en array. Det skal da være mulig å hente fram en person og så evt. slette denne. Den slettete element(ene) skal da kunne "frigjøres" slik at det kan brukes hvis det skal registeres flere nummer og navn.

Lenke til kommentar

*hint* ArrayList *hint*

 

Lag en klasse der du kan lagre dataene dine, og putt instanser av denne klassen inn i en ArrayList med add(Object o) metoden. Ellers kan jeg hinte om remove(int index) og indexOf(Object o) metodene, svært søte begge to.

 

Hvis du er desperat etter å bruke vanlige arrays, er det kanskje like greit med en array per egenskap du skal lagre. Og så bruke null verdi i for eksempel navne-arrayen for å indikere ledig plass.

 

(Men ArrayList endrer størrelse ettersom du legger til, svært behagelig å ikke trenge å vite størrelsen i utgangspunktet.)

 

Lykke til

CPL

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...