# ArrayList mit Startwerten initialisieren



## Bit2_Gosu (4. Nov 2006)

Hallo !

Ich versuche, eine ArrayList so zu initialisieren, dass gleich am Anfang die Werte 20  50  und 90 in der normalen Reihenfolge, also 0, 1, 2 enthalten sind. 
in der java class library steht dass das mit einer collection als parameter geht. ich habs mal änhlich wie beim zweidimensionalen Array probiert (siehe unten) klappt aber leider nicht :? 

weiß jemand wie das geht????




```
import java.util.ArrayList;

public class wiesbadenData {


public final ArrayList <Integer> ampelAbstandData = new ArrayList{{0,20}{1,50}{2,90}}; 


public wiesbadenData() {

}
}
```


----------



## SlaterB (4. Nov 2006)

du hast da kein Array als Parameter definieret, das wäre 

new ArrayList(new int[][] {{0,20}{1,50}{2,90}});

allerdings ist ein Array auch keine Collection, daher gehts nicht,
womöglich funktioniert dies:

new ArrayList(Arrays.asList(new int[][] {{0,20}{1,50}{2,90}}));


----------



## Bit2_Gosu (4. Nov 2006)

```
public final ArrayList <Integer> ampelAbstandData = new ArrayList(Arrays.asList(new int[][] {{0,20}{1,50}{2,90}}));
```

leider sagt er:       '}' expected


----------



## SlaterB (4. Nov 2006)

also wie man ein int[][] korrekt definiert könnte ich dir nun auch erklären,
aber willst du das nicht lieber alleine versuchen?

int[][] x = ..;

wenn das funktioniert, dann kopiere das rüber in den Code,
der bisherige enthält noch Syntaxfehler

----------

übrigens wäre das eine ArrayList <int[]>,
wenn du eine ArrayList <Integer> haben willst,
dann solltest du ein int[] übergeben und kein int[][]


----------



## Bit2_Gosu (5. Nov 2006)

ich hab das ganze mal auf folgendes geändert


```
public final ArrayList <Integer> ampelAbstandData = new ArrayList(Arrays.asList(new int[] {20,50,90}));
```


im vertrauen, das 20  50 und 90   in der reihe 0  1  2 eingeschrieben werden. und ich sie später wieder mit get(0) usw rausfischen kann.

aber er beschwert sich immer noch ....  hab schon einiges probiert ...ich hab einfach noch nicht die nötigen kenntnisse


----------



## SlaterB (5. Nov 2006)

> ich hab einfach noch nicht die nötigen kenntnisse

wenn du hier im Forum schreiben kannst, dann hast du die nötigen Kenntnisse:
FEHLERMELDUNG HINSCHREIBEN!


public final ArrayList <Integer> ampelAbstandData = new ArrayList(Arrays.asList(new Integer[] {20,50,90}));
soll es wohl sein, da Arrays.asList ein Object[] verlangt

-----------

ein ganz anderer Weg wäre übrigens etwas in der Art von

public final ArrayList <Integer> ampelAbstandData = new ArrayList();

{
ampelAbstandData.add(20);
ampelAbstandData.add(50);
ampelAbstandData.add(90);
}

das geht ja auch, die add-Zeilen so wie es da stehen in einem anonymen Konstruktor oder eben in den normalen Konstruktor,
aber jetzt bitte nicht schon wieder wegen jedem vergessenen Semikolon oder so nachfragen


----------



## Bit2_Gosu (5. Nov 2006)

Ich finds echt toll, dass du dir soviel Mühe machst !!!

Das untere sollen wir aber leider nicht machen  und sorry (!!!) aber beim oberen:


```
public final ArrayList <Integer> ampelAbstandData = new ArrayList(Arrays.asList(new Integer[] {20,50,90}));
```



sagt er jetzt "cannot find symbol -variable Arrays"             bitte nicht ausrasten, das sag schließlich nicht ich, sondern der  compiler  und glaub mir ich versuch hier das ganze  durch probieren zu lösen, aber nie klappt es  :bahnhof:


----------



## Ark (5. Nov 2006)

```
import java.util.*;
```
Diese Zeile ist in fast jedem meiner Quelltexte. 

MfG
Ark


----------



## Bit2_Gosu (5. Nov 2006)

Boah hammer xD   es funktioniert !!! vielen Dank euch beiden, insbesondere slaterB !!!


----------

