Change line 8
int to
Integer because ArrayLists only store objects and int is a primitive. Add in line 11
reversed.add(0, element); so that each element of the ArrayList
list, the parameter, is added in front of the previously added element (thereby reversing the order).
Note that there are other equally correct ways to reverse the order of the ArrayList without creating a new Array or by traversing through it backwards.
import java.util.*;
public class Test1
{
public static ArrayList<Integer> reverse(ArrayList<Integer> list)
{
ArrayList<Integer> reversed = new ArrayList<Integer>();
for (Integer element : list)
{
reversed.add(0, element);
}
return reversed;
}
public static void main(String[] args)
{
// instantiate ArrayList and fill with Integers
ArrayList<Integer> values = new ArrayList<Integer>();
int[] nums = {1, 5, 7, 9, -2, 3, 2};
for (int i = 0; i < nums.length; i++)
{
values.add(nums[i]);
}
ArrayList<Integer> result = reverse(values);
System.out.println("Expected Result:\t [2, 3, -2, 9, 7, 5, 1]");
System.out.println("Your Result:\t\t " + result);
}
}