Im trying to solve a task where I need to implement two methods for the RLE function. I wrote this code for the compress method:
List<Character> compressRLE(List<Character> text) {
List<Character> ergebnis = new ArrayList<>();
int count = 48;
for (int i = 0; i < text.size(); i++) {
if (i == 0) {
ergebnis.add(text.get(0));
count++;
}
if (i != 0 && text.get(i) == text.get(i-1)) {
count++;
}else if(i != 0 && text.get(i) != text.get(i-1)) {
ergebnis.add((char)count);
ergebnis.add(text.get(i));
count = 49;
}
if (i == text.size()-1) {
ergebnis.add((char)count);
}
}
return ergebnis;
}
that arrayList below I want to compress:
[a, a, a, c, a, a, a, e, e, a, d, e, f, a, d, a, c, d, c, e, a, c, a, f, a, a, a, b, e, a, c, b, c, e, b, d, e, a, e, d, a, e, c, f, b, a, a, a, e, a, d, d, a, d, a, f, e, a, a, a, a, e, c, c, d, f, e, d, e, e, a, e, a, a, b, e, e, a, a, d, a, b, b, a, a, a, d, e, a, e, e, b, a, e, a, e, c, a, e, f, a, a, a, b, e, d, a, c, a, d, f, a, c, b, a, e, a, a, d, d, a, e, a, f, b, d, d, d, a, c, b, d, d, e, f, b, e, d, c, e, c, d, a, a, a, a, a, d, d, a, e, c, a, d, c, e, a, b, a, a, b, a, a, f, b, a, a, d, a, e, d, b, a, b, e, a, a, d, d, d, a, e, a, a, b, e, a, a, a, e, e, e, a, c, d, e, d, c, a, a, e, a, e, e, e, e, a, e, e, e, a, a, a, a, d, a, b, a, a, e, e, c, c, a, e, d, a, d, e, c, a, d, f, c, a, e, a, a, e, e, e, e, a, d, e, a, e, a, c, e, a, d, a, b, a, a, e, a, b, b, e, b, d, a, e, e, e, e, c, a, d, b, e, e, a, b, b, c, a, b, a, a, a, d, a, a, c, e, e, e, a, c, f, a, d, a, d, b, e, a, a, e, b, a, a, a, e, a, a, e, a, d, f, c, a, e, c, d, b, e, a, a, e, d, b, a, a, e, e, b, a, e, e, c, b, a, a, a, a, d, a, a, a, d, e, b, c, e, a, a, a, e, b, a, e, a, a, e, a, a, e, c, a, a, e, c, a, b, c, e, e, c, d, b, a, e, e, d, e, a, c, f, e, a, e, b, e, e, a, e, a, b, a, a, d, e, a, e, e, d, c, b, a, a, e, f, a, a, a, d, f, e, c, a, a, e, e, a, d, a, d, a, a, f, a, a, a, e, a, a, b, a, e, e, a, c, a, f, a, c, e, a, e, a, c, a, c, a, a, a, a, a, c, d, a, a, e, a, a, c, a, b, a, a, a, e, a, c, e, a, a, a, d, c, e, a, e, a, a, d, a, a, d, c, c, a, a, b, d, a, a, e, c, e, e, e, f, a, c, c, c, d, a, a, d, a, b, a, c, b, a, b, e, e, a, e, a, c, d, a, a, a, c, a, a, a, a, a, e, e, c, c, a, a, a, e, d, a, c, e, c, a, a, c, d, b, a, e, a, e, c, d, c, e, a, f, e, a, e, a, a, e, e, a, c, a, c, a, a, e, a, a, a, e, e, a, c, d, a, a, d, a, a, d, e, b, b, f, a, a, b, d, e, a, a, d, c, d, b, c, a, a, c, d, c, a, a, d, d, d, a, d, a, c, a, a, a, a, a, a, e, e, a, f, e, f, f, b, e, b, c, a, a, a, b, a, e, e, f, e, d, b, b, a, a, a, a, e, e, a, b, d, a, a, b, a, a, e, a, d, d, d, f, a, a, f, e, d, a, a, a, d, d, a, d, b, a, e, a, e, c, e, d, e, b, a, a, a, e, c, a, b, e, e, c, e, e, c, a, a, e, a, a, d, b, a, b, e, a, a, a, d, d, e, a, e, a, a, b, d, a, d, a, c, b, f, a, c, a, a, a, d, a, f, a, a, a, d, c, e, a, d, a, a, a, c, d, a, b, e, c, d, d, b, a, b, b, a, a, e, f, a, d, b, a, a, c, a, d, b, a, e, e, a, a, c, a, c, a, a, e, c, b, c, a, e, a, a, b, a, d, b, b, e, a, d, c, e, c, d, c, d, d, c, a, a, e, c, b, a, a, a, a, d, f, f, a, d, d, d, a, a, a, f, e, e, e, c, a, a, f, a, b, d, d, b, a, b, b, d, a, a, d, b, a, a, d, a, d, c, c, a, d, b, e, e, b, a, d, d, f, b, e, a, a, e, d, a, c, d, a, d, a, e, b, b, a, a, e, a, a, c, e, a, a, d, d, d, a, e, a, e, a, a, c, b, c, d, a, b, d, d, f, f, a, a, a, a, a, e, a, f, b, b, c, c, b, d, d, e, a, c, e, f, b, e, a, a, a, a, d, a, d, a, e, c, e, d, d, b, c, a, d, c, a, b, c, e, d, d, d, c, d, c, a, d, e, a, a, d, a, a, a, a, c, b, e, b, e, d, a, a, d, e, b, c, d, b, a, a, e, a, a, e, f, a, c, d, d, e, a, b, d, a, a, d, d, a, d, e]
But somehow Im doing it right and wrong at the same time. I did the compress but the size of the list has been increased almost 3 times:
[a, 3, c, 1, a, 3, e, 2, a, 1, d, 1, e, 1, f, 1, a, 1, d, 1, a, 1, c, 1, d, 1, c, 1, e, 1, a, 1, c, 1, a, 1, f, 1, a, 3, b, 1, e, 1, a, 1, c, 1, b, 1, c, 1, e, 1, b, 1, d, 1, e, 1, a, 1, e, 1, d, 1, a, 1, e, 1, c, 1, f, 1, b, 1, a, 3, e, 1, a, 1, d, 2, a, 1, d, 1, a, 1, f, 1, e, 1, a, 4, e, 1, c, 2, d, 1, f, 1, e, 1, d, 1, e, 2, a, 1, e, 1, a, 2, b, 1, e, 2, a, 2, d, 1, a, 1, b, 2, a, 3, d, 1, e, 1, a, 1, e, 2, b, 1, a, 1, e, 1, a, 1, e, 1, c, 1, a, 1, e, 1, f, 1, a, 3, b, 1, e, 1, d, 1, a, 1, c, 1, a, 1, d, 1, f, 1, a, 1, c, 1, b, 1, a, 1, e, 1, a, 2, d, 2, a, 1, e, 1, a, 1, f, 1, b, 1, d, 3, a, 1, c, 1, b, 1, d, 2, e, 1, f, 1, b, 1, e, 1, d, 1, c, 1, e, 1, c, 1, d, 1, a, 5, d, 2, a, 1, e, 1, c, 1, a, 1, d, 1, c, 1, e, 1, a, 1, b, 1, a, 2, b, 1, a, 2, f, 1, b, 1, a, 2, d, 1, a, 1, e, 1, d, 1, b, 1, a, 1, b, 1, e, 1, a, 2, d, 3, a, 1, e, 1, a, 2, b, 1, e, 1, a, 3, e, 3, a, 1, c, 1, d, 1, e, 1, d, 1, c, 1, a, 2, e, 1, a, 1, e, 4, a, 1, e, 3, a, 4, d, 1, a, 1, b, 1, a, 2, e, 2, c, 2, a, 1, e, 1, d, 1, a, 1, d, 1, e, 1, c, 1, a, 1, d, 1, f, 1, c, 1, a, 1, e, 1, a, 2, e, 4, a, 1, d, 1, e, 1, a, 1, e, 1, a, 1, c, 1, e, 1, a, 1, d, 1, a, 1, b, 1, a, 2, e, 1, a, 1, b, 2, e, 1, b, 1, d, 1, a, 1, e, 4, c, 1, a, 1, d, 1, b, 1, e, 2, a, 1, b, 2, c, 1, a, 1, b, 1, a, 3, d, 1, a, 2, c, 1, e, 3, a, 1, c, 1, f, 1, a, 1, d, 1, a, 1, d, 1, b, 1, e, 1, a, 2, e, 1, b, 1, a, 3, e, 1, a, 2, e, 1, a, 1, d, 1, f, 1, c, 1, a, 1, e, 1, c, 1, d, 1, b, 1, e, 1, a, 2, e, 1, d, 1, b, 1, a, 2, e, 2, b, 1, a, 1, e, 2, c, 1, b, 1, a, 4, d, 1, a, 3, d, 1, e, 1, b, 1, c, 1, e, 1, a, 3, e, 1, b, 1, a, 1, e, 1, a, 2, e, 1, a, 2, e, 1, c, 1, a, 2, e, 1, c, 1, a, 1, b, 1, c, 1, e, 2, c, 1, d, 1, b, 1, a, 1, e, 2, d, 1, e, 1, a, 1, c, 1, f, 1, e, 1, a, 1, e, 1, b, 1, e, 2, a, 1, e, 1, a, 1, b, 1, a, 2, d, 1, e, 1, a, 1, e, 2, d, 1, c, 1, b, 1, a, 2, e, 1, f, 1, a, 3, d, 1, f, 1, e, 1, c, 1, a, 2, e, 2, a, 1, d, 1, a, 1, d, 1, a, 2, f, 1, a, 3, e, 1, a, 2, b, 1, a, 1, e, 2, a, 1, c, 1, a, 1, f, 1, a, 1, c, 1, e, 1, a, 1, e, 1, a, 1, c, 1, a, 1, c, 1, a, 5, c, 1, d, 1, a, 2, e, 1, a, 2, c, 1, a, 1, b, 1, a, 3, e, 1, a, 1, c, 1, e, 1, a, 3, d, 1, c, 1, e, 1, a, 1, e, 1, a, 2, d, 1, a, 2, d, 1, c, 2, a, 2, b, 1, d, 1, a, 2, e, 1, c, 1, e, 3, f, 1, a, 1, c, 3, d, 1, a, 2, d, 1, a, 1, b, 1, a, 1, c, 1, b, 1, a, 1, b, 1, e, 2, a, 1, e, 1, a, 1, c, 1, d, 1, a, 3, c, 1, a, 5, e, 2, c, 2, a, 3, e, 1, d, 1, a, 1, c, 1, e, 1, c, 1, a, 2, c, 1, d, 1, b, 1, a, 1, e, 1, a, 1, e, 1, c, 1, d, 1, c, 1, e, 1, a, 1, f, 1, e, 1, a, 1, e, 1, a, 2, e, 2, a, 1, c, 1, a, 1, c, 1, a, 2, e, 1, a, 3, e, 2, a, 1, c, 1, d, 1, a, 2, d, 1, a, 2, d, 1, e, 1, b, 2, f, 1, a, 2, b, 1, d, 1, e, 1, a, 2, d, 1, c, 1, d, 1, b, 1, c, 1, a, 2, c, 1, d, 1, c, 1, a, 2, d, 3, a, 1, d, 1, a, 1, c, 1, a, 6, e, 2, a, 1, f, 1, e, 1, f, 2, b, 1, e, 1, b, 1, c, 1, a, 3, b, 1, a, 1, e, 2, f, 1, e, 1, d, 1, b, 2, a, 4, e, 2, a, 1, b, 1, d, 1, a, 2, b, 1, a, 2, e, 1, a, 1, d, 3, f, 1, a, 2, f, 1, e, 1, d, 1, a, 3, d, 2, a, 1, d, 1, b, 1, a, 1, e, 1, a, 1, e, 1, c, 1, e, 1, d, 1, e, 1, b, 1, a, 3, e, 1, c, 1, a, 1, b, 1, e, 2, c, 1, e, 2, c, 1, a, 2, e, 1, a, 2, d, 1, b, 1, a, 1, b, 1, e, 1, a, 3, d, 2, e, 1, a, 1, e, 1, a, 2, b, 1, d, 1, a, 1, d, 1, a, 1, c, 1, b, 1, f, 1, a, 1, c, 1, a, 3, d, 1, a, 1, f, 1, a, 3, d, 1, c, 1, e, 1, a, 1, d, 1, a, 3, c, 1, d, 1, a, 1, b, 1, e, 1, c, 1, d, 2, b, 1, a, 1, b, 2, a, 2, e, 1, f, 1, a, 1, d, 1, b, 1, a, 2, c, 1, a, 1, d, 1, b, 1, a, 1, e, 2, a, 2, c, 1, a, 1, c, 1, a, 2, e, 1, c, 1, b, 1, c, 1, a, 1, e, 1, a, 2, b, 1, a, 1, d, 1, b, 2, e, 1, a, 1, d, 1, c, 1, e, 1, c, 1, d, 1, c, 1, d, 2, c, 1, a, 2, e, 1, c, 1, b, 1, a, 4, d, 1, f, 2, a, 1, d, 3, a, 3, f, 1, e, 3, c, 1, a, 2, f, 1, a, 1, b, 1, d, 2, b, 1, a, 1, b, 2, d, 1, a, 2, d, 1, b, 1, a, 2, d, 1, a, 1, d, 1, c, 2, a, 1, d, 1, b, 1, e, 2, b, 1, a, 1, d, 2, f, 1, b, 1, e, 1, a, 2, e, 1, d, 1, a, 1, c, 1, d, 1, a, 1, d, 1, a, 1, e, 1, b, 2, a, 2, e, 1, a, 2, c, 1, e, 1, a, 2, d, 3, a, 1, e, 1, a, 1, e, 1, a, 2, c, 1, b, 1, c, 1, d, 1, a, 1, b, 1, d, 2, f, 2, a, 5, e, 1, a, 1, f, 1, b, 2, c, 2, b, 1, d, 2, e, 1, a, 1, c, 1, e, 1, f, 1, b, 1, e, 1, a, 4, d, 1, a, 1, d, 1, a, 1, e, 1, c, 1, e, 1, d, 2, b, 1, c, 1, a, 1, d, 1, c, 1, a, 1, b, 1, c, 1, e, 1, d, 3, c, 1, d, 1, c, 1, a, 1, d, 1, e, 1, a, 2, d, 1, a, 4, c, 1, b, 1, e, 1, b, 1, e, 1, d, 1, a, 2, d, 1, e, 1, b, 1, c, 1, d, 1, b, 1, a, 2, e, 1, a, 2, e, 1, f, 1, a, 1, c, 1, d, 2, e, 1, a, 1, b, 1, d, 1, a, 2, d, 2, a, 1, d, 1, e, 1]
ergebnis.size() give me this: 2996 (from 1000 to 2996)
I cant figure what went wrong here so Im kindly ask for a little help here.