Hallo, ich habe folgende Aufgabe bekommen: Schreiben Sie eine Methode 'replaceInArrayList', welche in einer ArrayList *alle* Elemente vom Wert 'findThis' durch 'replacement' ersetzt und die resultierende Liste zurückgibt.
Nun habe ich folgenden Code geschrieben:
Folgende Testfälle sind korrekt:
wenn ich jetzt allerdings den Testfall :
ArrayList<Integer> arg8 = new ArrayList<Integer>(Arrays.asList(new Integer[] { 2, 2, 2, 2 }));
dann ersetzt er mir natürlich nur die Indexstelle 1. Wie bekomme ich es hin, dass er mir alle toFind durch replacement ersetzt?
Nun habe ich folgenden Code geschrieben:
Java:
ArrayList<Integer> replaceInArrayList(ArrayList<Integer> arr, Integer toFind, Integer replacement){
if (!arr.isEmpty() && arr.size() > toFind) {
arr.set(1, replacement);
}
return arr;
}
Folgende Testfälle sind korrekt:
ArrayList<Integer> arg3 = new ArrayList<Integer>(Arrays.asList(new Integer[] {})); System.out.println(replaceInArrayList(arg3, 2, -10)); |
ArrayList<Integer> arg4 = new ArrayList<Integer>(Arrays.asList(new Integer[] { 1, 2, 3 })); System.out.println(replaceInArrayList(arg4, 2, -10)); |
wenn ich jetzt allerdings den Testfall :
ArrayList<Integer> arg8 = new ArrayList<Integer>(Arrays.asList(new Integer[] { 2, 2, 2, 2 }));
dann ersetzt er mir natürlich nur die Indexstelle 1. Wie bekomme ich es hin, dass er mir alle toFind durch replacement ersetzt?