import java.util.ArrayList; public class ListFun { // Reverse the contents of list in place void reverse(ArrayList list) { String tmp; for (int i = 0; i < list.size() / 2; i++) { tmp = list.get(i); list.set(i, list.get(list.size() - 1 - i)); list.set(list.size() - 1 - i, tmp); } } ArrayList reverse2(ArrayList list) { // Create a new arraylist ArrayList returnList = new ArrayList(); // Add elements from list to this new arrayList // Add elements in proper order so that new list is reversed // Don't change the original list! return returnList; } public static void main(String[] args) { ListFun lf = new ListFun(); ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); ArrayList list3; for (int i = 0; i < 5; i++) { list1.add(Integer.toString(i)); list2.add(Integer.toString(i)); } lf.reverse(list1); list3 = lf.reverse2(list2); System.out.println(list1); System.out.println(list2); System.out.println(list3); } }