You can sort a list of String objects quite simply, as this language test demonstrates: public void testSortStringsInPlace() { ArrayList<String> list = new ArrayList<String>(); list.add("Heller"); list.add("Kafka"); list.add("Camus"); list.add("Boyle"); java.util.Collections.sort(list); assertEquals("Boyle", list.get(0)); assertEquals("Camus", list.get(1)); assertEquals("Heller", list.get(2)); assertEquals("Kafka", list.get(3)); } The static sort method in the java.util.Collections class takes a list as a parameter and sorts the list in place.[1] If you do not want to sort the list in placeif you do not want to modify the original listyou can create a new list and send that list as a parameter to the sort message.
public void testSortStringsInNewList() { ArrayList<String> list = new ArrayList<String>(); list.add("Heller"); list.add("Kafka"); list.add("Camus"); list.add("Boyle"); ArrayList<String> sortedList = new ArrayList<String>(list); java.util.Collections.sort(sortedList); assertEquals("Boyle", sortedList.get(0)); assertEquals("Camus", sortedList.get(1)); assertEquals("Heller", sortedList.get(2)); assertEquals("Kafka", sortedList.get(3)); assertEquals("Heller", list.get(0)); assertEquals("Kafka", list.get(1)); assertEquals("Camus", list.get(2)); assertEquals("Boyle", list.get(3)); } The last four assertions verify that the original list remains unmodified. |