# zwei Arrays zusammenfassen



## Samson_Miller (25. Okt 2006)

Ich habe eine for-schleife die durchlaufen wird, in der for-schleife wird ein Array angelegt und gefüllt, wie groß das Array dort wird, kann erst in der for-schleife fest gelegt werden. Nun habe ich ein Array vor der for-schleife definiert, zu dem Array möchte ich dann immer das aus der for-schleife dazu addieren.

Also ich habe am Anfang ein Array mit 0 Elementen. Dann möchte ich dort ein Array mit z.B. 5 Elementen hinzu addieren. Dannach nochmal mit z.B. 7 Elementen und so weiter. Kann mir einer sagen wie ich das machen kann?


----------



## The_S (25. Okt 2006)

verwende anstatt Arrays eine ArrayList. Damit kannst du leicht weiter ArrayLists hinzufügen.


----------



## Samson_Miller (25. Okt 2006)

Das geht leider nicht, ich arbeite mit InputStreams. Für eine ArrayList müsste ich jedesmal ein neues Objekt erzeugen um es in die ArrayList zu speichern, das kann ich aber nicht, da InputStream abstract ist.


----------



## The_S (25. Okt 2006)

Was das ganze jetzt mit dem InputStream zu tun hat musste mir nochma erklären. Da bin ich jetzt nicht so ganz durchgesteigen.

Ansosnten schreib dir ne Methode, der du zwei Arrays übergibst und die dann ein neues erzeugt und dieses zurückgibt.


----------



## Samson_Miller (25. Okt 2006)

Ich habe momentan so, dass ich ein Array vom Typ InputStream habe


```
InputStream[] inputStream = new InputStream[10];
```

Die größe des Arrays wird aber später erst angegeben. Die steht am Anfang noch nicht fest.

Bei einer Array List, würde ich dann ja folgendes machen


```
List liste = new ArrayList();
```

Um dort ein InputStream reinpacken zu können müsste ich jedesmal ein neues Objekt von InpuStream erzeugen,also


```
InputStream inputStream = new InputStream();
```

das kann ich aber nicht. Und somit kann ich auch keine ArrayList verwenden


----------



## The_S (25. Okt 2006)

Für was braucht man denn ein InputStream-Array???

[edit] und vorallem, warum braucht man ein InputStream-Array bei dem jedes Element gleich null ist?


----------



## Samson_Miller (25. Okt 2006)

Ich lade mir die anhäge einer Email runter will die aber nicht auf platte speichern, sondern für die weitere verarbeitung in einen InputStream packen.

Was meinst du mit "ein InputStream-Array bei dem jedes Element gleich null ist?"?


----------



## KSG9|sebastian (25. Okt 2006)

aehm WAS?
Und was musst du bei nem Array reinpacken?
Richtig => ein neues Objekt

Und da die Klasse InputStream nur die Oberklasse vieler spezifischer Streams ist kannst du ja die Subklassen nutzen ´(z.B. FileInputStream, ObjectInputStream, ByteArrayInputStream u.s.w.)


----------



## The_S (25. Okt 2006)

Samson_Miller hat gesagt.:
			
		

> Was meinst du mit "ein InputStream-Array bei dem jedes Element gleich null ist?"?



Wenn du sowas machst:


```
InputStream[] in = new InputStream[10];
```

sind alle 10 InputStreams gleich null. Solltest du irgendwo dann doch den einzelnen Indices ein Objekt zuordnen


```
in[0] = klasse.getInputStream(0);
in[1] = klasse.getInputStream(1);
```

Dann kannste auch gleich ne ArrayList verwenden. Weil dann haste dein Objekt ...


----------



## Samson_Miller (25. Okt 2006)

Nein ich mache erst mal


```
InputStream in = null;
```

Und in der Schleife dann:


```
in = (InputStream) part.getContent();
inpuStreamArray[i] = in;
```


----------



## The_S (25. Okt 2006)

ja und? Da haste dann doch dein Objekt das du der ArrayList adden kannst.


----------



## KSG9|sebastian (25. Okt 2006)

dann mach es doch einfach so:


```
ArrayList inStreams = new ArrayList();
for(...){
InputStream in = (InputStream) part.getContent(); 
inStreams.add(in);
}
```


----------



## Samson_Miller (25. Okt 2006)

Das klappt, nur lieder bekomme ich dann in Eclipse den Hinweis:


```
Type safety: The method add(Object) belongs to the raw type List. References to generic type 
 List<E> should be parameterized
```

Ist das schlimm? Wie kann ich das Problem beheben?


----------



## byte (25. Okt 2006)

```
List<InputStream> inStreams = new ArrayList<InputStream>();
```


----------



## Samson_Miller (25. Okt 2006)

Danke.


----------

