Java实现数组反转翻转的方法

Java实现数组反转翻转的方法

    【尊重 原创,转载请注明出处 】http://blog.csdn.net/guyuealian/article/details/51113133
     数组翻转的方法(java实现),数组翻转,就是将数组倒置,例如原数组为:{"a","b","c","d"},那么翻转后的数组为{"d","c","b","a"}。
    【方法一】使用集合个工具类: Collections.reverse(ArrayList) 将数组进行反转:
import java.util.ArrayList;import java.util.Collections;
public class Main {
   public static void main(String[] args) {
      ArrayList arrayList = new ArrayList();
      arrayList.add("A");
      arrayList.add("B");
      arrayList.add("C");
      arrayList.add("D");
      arrayList.add("E");
      System.out.println("反转前排序: " + arrayList);
      Collections.reverse(arrayList);
      System.out.println("反转后排序: " + arrayList);
   }
}

以上代码运行输出结果为:

反转前排序: [A, B, C, D, E] 
反转后排序: [E, D, C, B, A] 
    【 方法二 】使用集合ArrayList实现反转:
    【方法三】直接使用数组实现反转,即,反转后数组的第一个元素等于源数组的最后一个元素:
     方法二和方法三的实现代码如下:
package javatest2;

import java.util.ArrayList;

public class JavaTest2 {

	public static void main(String[] args) {
		String[] Array = { "a", "b", "c", "d", "e" };
		reverseArray1(Array);// 使用集合ArrayList实现反转
		for (int j = 0; j < Array.length; j++) {
			System.out.print(Array[j] + " ");
		}

		System.out.print("\n");
		String[] temp = reverseArray2(Array);// 直接使用数组实现反转
		for (int j = 0; j < temp.length; j++) {
			System.out.print(Array[j] + " ");
		}

	}

	/*
	 * 函数:reverseArray1和reverseArray2 
	 * 功能:实现 数组翻转
	 * 例如:{'a','b','c','d'}变成{'d','c','b','a'}
	 */
	private static void reverseArray1(String[] Array) {
		ArrayList<String> array_list = new ArrayList<String>();
		for (int i = 0; i < Array.length; i++) {
			array_list.add(Array[Array.length - i - 1]);
		}
		Array = array_list.toArray(Array);
	}

	private static String[] reverseArray2(String[] Array) {
		String[] new_array = new String[Array.length];
		for (int i = 0; i < Array.length; i++) {
			// 反转后数组的第一个元素等于源数组的最后一个元素:
			new_array[i] = Array[Array.length - i - 1];
		}
		return new_array;
	}

}




  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI吃大瓜

尊重原创,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值