Tellan Skrevet 8. oktober 2009 Del Skrevet 8. oktober 2009 Eg burde ikkje ha oppretta ein ny tråd her, men eg trykte på løyst i den gamle posten min, og nå veit eg ikkje korleis eg kan fjerna den grønne markøren som viser at problemet er løyst. Eg bruker nå ArrayList istadenfor Vector. Men eg har problemer med å forstå korleis eg kan laga ein god 2 dimensjonal Arraylist. ArrayList<ArrayList<Double>> vegar = new ArrayList<ArrayList<Double>>(); ArrayList<Double> vegListe1 = new ArrayList<Double>(); // vegListe1.get(0); // java.lang.ArrayIndexOutOfBoundsException vegListe1.add(3.5); // funker vegListe1.get(0); // funker naa vegar.add(vegListe1); vegar.add(vegListe1); System.out.println(vegar); // La oss bytte ut listen med en annen ArrayList<Double> vegListe2 = new ArrayList<Double>(); vegListe2.add(5.5); vegListe2.add(10.5); vegar.add(vegListe2); System.out.println(vegar); // Og hente listen pluss legge til et element i samme linje vegar.get(0).add(8.0); vegar.get(2).add(9.5); System.out.println(vegar); Dersom eg vil laga ein 2 dimensjonal tabell har eg ikkje lyst å ha det slik eg har det nå. Eg legg inn ein ArrayList<Double>vegLista1 i tabellen vegar på plass nummer 0 og 1. Så legg eg til ein ny ArrayList<Double> vegLista2 i tabellen vegar på plass nummer 3. Når eg prøver å legga til eit tal til på plass nummer 1 i vegar tabellen så gjer eg det sama i plass nummer 0 siden desse 2 peiker til same ArrayList dersom eg har forstått det korrekt. Eg har ikkje lyst å oppretta 1000 forskjellige ArrayLista<Double> vegLista1,2,3... osv, berre for å legga inn 1000 forskjellige tabellar i vegar tabellen min. Kan nokon visa meg korleis eg oppretter "ArrayList<ArrayList<Double>> vegar" for så og fylla den med forskjellige flyttal, har moglegheten til å endra på tala i tabellen min, og så skriva den ut? Og eit siste spørsmål. Utvider ArrayList seg dersom eg legg til meir enn det er plass til i tabellen slik tilfellet er med Vector i C++? Lenke til kommentar
DevilsDecoy Skrevet 8. oktober 2009 Del Skrevet 8. oktober 2009 Du gjør akkurat det samme som du ville gjort hvis du brukte en todimensjonal array. Og ja, ArrayList utvider seg automatisk import java.util.ArrayList; class ArrayListTest { public static void main (String [] args) { //Fylle lista med tall ArrayList<ArrayList<Double>> vegar = new ArrayList<ArrayList<Double>>(); for (int i=0; i < 100; i++) { vegar.add(new ArrayList<Double>()); for (int j=0; j < 100; j++) { vegar.get(i).add(new Double(0.0)); } } System.out.println(vegar.get(99).get(99)); //Få tak i et tall vegar.get(1).set(1, new Double(1.0)); //Sett [1][1] til 1.0 } } Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå