So simpel zou je denken....en toch lukt het me niet 
Even de situatie: ik heb een Array van type String, ik wil daarin alleen unieke strings, dus de dubbelen eruit.
Dit heb ik nu, even wat toelichting:
tmpIdArray1: array dat gevuld is met strings, waarin mogelijk dubbelen zitten
tmpIdArray2: nieuwe array dat alleen unieke strings moet gaan bevatten
aantalIdentifiers: int van het aantal strings in het array tmpIdArray1
arrayIdIndexArray2: is in het begin op 0 gezet, daarna steeds met 1 verhoogd bij een invoer in tmpIdArray2
Dat tmpIdArray1 goed gevuld is met strings moet je maar even van me aannemen. Anders wordt het teveel code hier.
Mochten er dubbelen zijn, blijven slots open in het array tmpIdArray2. Is dit een probleem?
Edit: Ik krijg allemaal erg goede adviezen over nieuwe technieken, maar ik zou graag willen weten wat er mis is met mijn eigen code !
Ik krijg dus steeds deze foutmelding: ArrayIndexOutOfBoundsException. Het probleem zit hem in deze 2 regels code:
Als ik van die twee regels code commentaar maak (of die regels weg haal) krijg ik die foutmelding niet meer. Maarja dan staat er ook niet meer in het array tmpIdArray2 en heb ik geen array met unieke strings....
Even de situatie: ik heb een Array van type String, ik wil daarin alleen unieke strings, dus de dubbelen eruit.
Dit heb ik nu, even wat toelichting:
tmpIdArray1: array dat gevuld is met strings, waarin mogelijk dubbelen zitten
tmpIdArray2: nieuwe array dat alleen unieke strings moet gaan bevatten
aantalIdentifiers: int van het aantal strings in het array tmpIdArray1
arrayIdIndexArray2: is in het begin op 0 gezet, daarna steeds met 1 verhoogd bij een invoer in tmpIdArray2
Dat tmpIdArray1 goed gevuld is met strings moet je maar even van me aannemen. Anders wordt het teveel code hier.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| int arrayIdIndexArray2 = 0;
String[] tmpIdArray1 = new String[aantalIdentifiers];
String[] tmpIdArray2 = new String[aantalIdentifiers];
for (int i=0 ; i < aantalIdentifiers ; i++) {
for (int j=0 ; j < aantalIdentifiers ; j++) {
if (!tmpIdArray1[i].equals(tmpIdArray2[j])) {
tmpIdArray2[arrayIdIndexArray2] = tmpIdArray1[i];
arrayIdIndexArray2++;
}
}
} |
Mochten er dubbelen zijn, blijven slots open in het array tmpIdArray2. Is dit een probleem?
Edit: Ik krijg allemaal erg goede adviezen over nieuwe technieken, maar ik zou graag willen weten wat er mis is met mijn eigen code !
Ik krijg dus steeds deze foutmelding: ArrayIndexOutOfBoundsException. Het probleem zit hem in deze 2 regels code:
code:
1
2
| tmpIdArray2[arrayIdIndexArray2] = tmpIdArray1[i]; arrayIdIndexArray2++; |
Als ik van die twee regels code commentaar maak (of die regels weg haal) krijg ik die foutmelding niet meer. Maarja dan staat er ook niet meer in het array tmpIdArray2 en heb ik geen array met unieke strings....
[ Voor 20% gewijzigd door verytallman op 08-12-2005 01:10 ]