使用原生Java 和 apache commons实现数组反转

x33g5p2x  于2022-09-15 转载在 Java  
字(1.3k)|赞(0)|评价(0)|浏览(175)

这个例子将展示如何使用原生java 和 apache commons ArrayUtils.reverse 实现数组的反转。

初始化数据

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"
    };
}

原生Java实现

@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]);
}

输出

[January, February, March, April, May, June, July, August, September, October, November, December]

Apache Commons实现

@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]);
}

输出

[January, February, March, April, May, June, July, August, September, October, November, December]

相关文章

微信公众号

最新文章

更多