package com.levelup.java.array; import static org.junit.Assert.assertEquals; import java.util.Arrays; import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.junit.Before; import org.junit.Test; /** * This java example will demonstrate reversing the elements in an array. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/reverse-elements-in-array/'>Reverse elements in array</a> * */ public class ReverseElementsInArray { private static final Logger logger = Logger.getLogger(ReverseElementsInArray.class); String[] MONTHS_OF_YEAR_BACKWARDS; @Before public void setUp () { MONTHS_OF_YEAR_BACKWARDS = new String[] { "December", "November", "October", "September", "August", "July", "June", "May", "April", "March", "February", "January" }; } @Test public void reverse_elements_in_array_with_java () { for (int i=0; i < MONTHS_OF_YEAR_BACKWARDS.length / 2; i++) { // set a temp variable for current element String temp = MONTHS_OF_YEAR_BACKWARDS[i]; // find the last element - 1 int j = MONTHS_OF_YEAR_BACKWARDS.length - i - 1; // set the first element to last MONTHS_OF_YEAR_BACKWARDS[i] = MONTHS_OF_YEAR_BACKWARDS[j]; // set last to the first MONTHS_OF_YEAR_BACKWARDS[j] = temp; } logger.info(Arrays.toString(MONTHS_OF_YEAR_BACKWARDS)); assertEquals("May", MONTHS_OF_YEAR_BACKWARDS[4]); } @Test public void reverse_elements_in_array_with_apache_commons () { ArrayUtils.reverse(MONTHS_OF_YEAR_BACKWARDS); logger.info(Arrays.toString(MONTHS_OF_YEAR_BACKWARDS)); assertEquals("May", MONTHS_OF_YEAR_BACKWARDS[4]); } }